Xin*_*nus 3 c# c++ dll visual-studio
我有一个C#程序的源代码.我想创建一个我想在C++中使用的DLL.
是否可以在Visual Studio 2008中创建可在C++中使用的本机DLL?
本地< - > .Net互操作是我的宠物学科之一,这就是为什么我需要尽可能简单和可靠.
结果是我做了一个MSBuild任务,我只需要拖入一个项目,允许我从几乎任何.Net语言中导出静态方法.而且由于整个编组基础设施也适用于导出,因此您可以使用所需的任何内容(例如将本机/托管对象作为IUnknown传递).
生成的程序集将像真正的DLL一样查看消耗过程,这意味着您不能再将其自动扩展到64位.
但是,由于您的应用程序中确实存在本机位,因此您仍然存在此问题.;-)
如果没有在C#项目中指定CPU目标,我的任务将发出警告,表明它为所有目标(x86,x64和Itanium)创建了一个文件夹,并且每个目标都有*.dll和*.pdb平台.
如果您希望程序是本机程序而不是托管程序,则需要将其移植到C++,而不是使用C#.
话虽这么说,你可以用C#将它编译成一个库,然后使用C++/CLI从C++中使用它.这只需要使用/ clr标志编译使用C#库的文件.这提供了对.NET框架的C++访问,并允许您直接从C++使用C#中创建的库.
或者,您可以使用.NET的COM互操作将C#类公开为COM对象,然后使用本机C++中的那些.
归档时间: |
|
查看次数: |
6114 次 |
最近记录: |