关于VB.NET,C++,C#语言之间DLL文件的调用问题

逆鳞92 2015-10-14 05:40:10
本人小白,有三个问题;
1,DLL文件为二进制文件,比如使用C#语言创建DLL文件并封装,然后再使用C#创建一个项目去调用,只需要引用DLL文件,然后using DLL文件中的类名,调用类成员函数,这个和类之间的调用相同,比较好理解,因为语法相同,可以直接调用函数;
2,使用VB.NET 去调用DLL文件就比较复杂,论坛上有很多种说法,看的不太懂,还有就是说要吧DLL文件在封装成COM(.tlb)组件调用,因为DLL是二进制文件怎么使用DLL文件中的类,数据,还有函数?
3,window 平台下很多都是DLL文件,试想一下,不同的编程语言有不同的优势,一个大的软件可以使用很多种语言,是不是就是采用这种DLL或者其他的统一文件,达到混合编译的效果。是我的思路不对还是没有找到合适的例子参考入门,折腾了两天很是头疼,有没有比较好的例子,或者书籍推荐,这个在MSDN上也查不到,麻烦大家给个指示。先谢谢了!
...全文
287 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
你如果不知道你的c++程序如何遵守COM规范而进行封装,可以学。但是按照你的2.中的说法,一语带过,然后就又是一堆的茫然和无奈。这既是毫无原则地议论了。 COM规范是许多年前制定的,用来沟通许多平台产品。后来因为COM的严重问题需要改进,才出现了.net。而许多人编译的c++程序不遵守通用跨语言平台互操作的规范,你说怎么办?
Dobzhansky 2015-10-16
  • 打赏
  • 举报
回复
普通dll 到导出函数来使用 com dll 靠导出四个函数, 使用com运行时来使用,基于接口 .net dll, 靠类型库来使用. 汗,无所谓哪个先进的问题.
  • 打赏
  • 举报
回复
什么“使用C#语言引用DLL文件”这个说法太简单、太空洞了。你连微软的跨语言平台规范都不学习,直接说“DLL文件”这种概念,看似高大上的名词儿其实是没有规范的东西。
  • 打赏
  • 举报
回复
微软在20年前,使用COM标准来跨语言平台相互调用。而你看到的所谓的一些c++程序编译的dll遵守COM标准吗?如若遵守了,就不会看到有什么问题了。 vb遵守COM规范,所以跟.net程序、delphi程序等等之间的互调用毫无困难。但是如果你满脑子就是一些c++程序,这个自然就是回到了20几年前有COM规范之前的乱象了。
逆鳞92 2015-10-16
  • 打赏
  • 举报
回复
自己顶一下,为什么没有人回答呢?是不是问题太LOW了

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧