为了更好地自己,我试图让我的dll符合COM,我想我只需要扩展/实现一些接口并完成工作,但现在我正处于十字路口,
1)我应该学习MIDL吗?
2)我应该安装ATL(我正在运行VC ++ Express)吗?
3)继续阅读C ++教程(http://progtutorials.tripod.com/COM.htm)并希望我的Express版本太有限了?
答案 0 :(得分:2)
我有兴趣将原生C ++转换为Android和Java,并且读取库需要公开静态“C”样式函数或实现COM。
Android是基于Linux的操作系统...它不支持DLL和COM。
所以不,你不能通过COM。您需要学习如何使用JNI。
答案 1 :(得分:2)
1)是的。如果你要定义新的接口,你几乎必须这样做。没有MIDL并非不可能,但这比学习基本的MIDL更难。
2)是的,请做。它将隐藏大部分锅炉板代码(编写起来很繁琐,而且容易出错)。
3)我会推荐Don Box的书Essential COM。这很棒。此外,这本书的一个很好的伴侣是Martin Gudgin的Essential IDL。
至于VC ++ Express - 我从未使用它们。我想可以用它做COM,但工具/库支持有限。