加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

vb.net – COM与非COM DLL

发布时间:2020-12-17 00:28:31 所属栏目:大数据 来源:网络整理
导读:我的大部分经验是使用高级语言,如 Java和VB.NET.我有一些C(在大学)的经验. 我理解COM DLL和.NET编译器生成的DLL之间的区别.我完全不了解C DLL和C编译器生成的COM DLL和Windows DLL之间的区别. 我想在.NET程序中使用C 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实用工具非常适合打印差异.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读