我的大部分经验是高级语言,比如Java和VB.NET,我也有一些C++的经验(在大学里)。
我了解COM和由.NET编译器生成的DLL之间的区别。我不能完全理解COM DLL和由C和C++编译器生成的Windows DLL之间的区别。
我想在.NET程序中使用C++动态链接库。我已经设法让它工作起来了。我的问题是:由C++生成的动态链接库和由VB6 (基于COM)生成的动态链接库有什么不同。
我花了一个小时在谷歌上搜索这个,并在MSDN上查找。我以为我不用问问题就能找到答案,但我没有。
发布于 2012-10-02 05:50:29
这两者之间有很大的区别。这个列表太长了,不能准确地在一篇文章中重现,我会试着突出重点:
在启动时找到该动态链接库,通常通过将该动态链接库放在与
中的位置无关
特定于COM的Automation子集:
最后一个要点可能是,当您认为自己理解COM和.NET dll之间的区别时,您会被绊倒。它们没有任何共同之处,但.NET非常好,并且可以与COM服务器互操作。Tlbimp.exe实用程序非常擅长于掩盖这些差异。
发布于 2012-10-02 05:06:44
Com是一种二进制标准,它允许应用程序使用可互换的二进制模块,任何语言只要满足com标准,就可以生成符合com标准的库。所以什么是不自信取决于一些com库将是本地机器代码,一些可能被管理并通过解释器运行。com真正要做的是弥合c++在源代码级别的oop风格与预建的二进制世界之间的可用性差距。
https://stackoverflow.com/questions/12680981
复制相似问题