如何在C#中创建和使用DLL文件
我目前正在尝试学习如何用C#和C++编写和使用Windows的.dll文件。我想一旦我懂了其中一种语言,我就能很容易地理解另一种语言。我今天已经找了5个多小时了,但是没有找到一个可以工作的.dll导游。它们要么过时了,拒绝与我的编译器一起工作,要么就是彻头彻尾的垃圾。有谁知道有效的好指南吗?我使用的是开发人员C++和VC++2010。谢谢你帮我!:)
解决方案
C#中的dll非常简单。
- 创建生成到DLL的新项目。
- 将对新DLL项目的引用添加到现有项目。
- 在DLL中使用标记为PUBLIC的类,就像它们是原始项目的一部分一样。
PEACYKINE展示了从C++DLL中导出类和函数的最基本方法。我建议使用一种更先进的技术。不是导出所需的每个类,而是从接口派生DLL中的所有类(至少具有一个纯虚方法的类)。然后导出一个工厂函数,该函数返回指向这些接口的指针。这减少了主可执行文件和DLL之间的耦合,因为您只需要共享接口,而不需要任何实现细节。
Code project有一篇关于此技术的好文章。
http://www.codeproject.com/KB/cpp/howto_export_cpp_classes.aspx
上述方法的一个好处是它极大地减少了编译时间。您可以完全重新实现DLL,而无需重新编译主应用程序。相关文章