2

为了让自己变得更好,我试图让我的 dll 的 COM 兼容,我想我只需要扩展/实现一些接口并完成工作,但现在我正处于十字路口,

1) 我应该学习 MIDL 吗?

2) 我应该安装 ATL(我正在运行 VC++Express)吗?

3) 继续阅读 C++ 教程 (http://progtutorials.tripod.com/COM.htm) 并希望我的 Express 版太有限?

4

2 回答 2

2

1) 是的。如果你要定义新的接口,你几乎必须这样做。没有 MIDL 也不是不可能,但比学习基本的 MIDL 难多了。

2)是的,请做。它将隐藏大部分样板代码(编写起来乏味且容易出错)。

3) 我会推荐 Don Box 的书Essential COM。这很棒。此外,Martin Gudgin的Essential IDL是该书的绝佳伴侣。

至于 VC++ Express - 我从未使用过它们。我想可以用它来做 COM,但工具/库支持有限。

于 2011-09-22T20:56:04.447 回答
2

我对将原生 C++ 转移到 Android 和 Java 很感兴趣,并且读到这些库需要公开静态“C”样式函数或实现 COM。

Android 是基于 Linux 的操作系统...它不支持 DLL 和 COM。

所以不,你不能通过COM。您需要学习如何使用 JNI。

于 2011-09-22T19:39:54.257 回答