vb.net – COM与非COM DLL

前端之家收集整理的这篇文章主要介绍了vb.net – COM与非COM DLL前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的大部分经验是使用高级语言,如 Java和VB.NET.我有一些C(在大学)的经验.

我理解COM DLL和.NET编译器生成的DLL之间的区别.我完全不了解C DLL和C编译器生成的COM DLL和Windows DLL之间的区别.

我想在.NET程序中使用C DLL.我已经设法得到这个工作.我的问题是具体的:由C生成的DLL和由VB6(基于COM)生成的DLL之间有什么区别.

我已经花了一个小时Googling这个,并在MSDN上看.我虽然会找到我的答案,而不必提出一个问题,但我没有.

两者之间有很大的区别.列表太长,无法在SO文章中准确复制,我将尝试点击亮点:

> C DLL必须导出每个想要使客户端代码可用的函数或类. COM DLL仅导出具有众所周知的名称和行为的4个函数
>使用C DLL的应用程序必须在链接时描述DLL的接口,COM服务器在运行时绑定
>使用C DLL的应用程序必须允许Windows在启动时找到DLL,通常是将DLL与EXE或路径放在同一目录中.没有客户端应用程序指定它所在的COM DLL.在运行时使用注册表来定位DLL
> COM服务器不一定是一个DLL.它可以是任何东西,包括在同一机器上的单独进程或位于世界各地另一台机器上的可执行文件.客户端代码不知道它位于何处

特定于COM的自动化子集:

> COM服务器可用于支持COM的任何语言. Windows中的任何一个都是其中的任何一个.

最后一个项目符号可能是您考虑到您了解COM dll和.NET dll之间的区别.他们没有什么共同之处,但.NET非常好,与COM服务器进行互操作. Tlbimp.exe实用工具非常适合打印差异.

原文链接:https://www.f2er.com/vb/255131.html

猜你在找的VB相关文章