我是一名从未接触过c ++的.net开发人员。我不想要:)
不幸的是,我必须在.net 4.0中使用c ++模块而且我一无所知。
是否有可以为给定的c ++模块生成.net程序集的工具?
如果没有,我成功调用这些c ++库的下一步是什么?
答案 0 :(得分:1)
有很多方法:
类型库导入器将COM类型库中找到的类型定义转换为公共语言运行库程序集中的等效定义。
公共语言运行库提供平台调用服务或PInvoke,它使托管代码能够在本机动态链接库(DLL)中调用C样式函数。相同的数据封送用于COM与运行时的互操作性以及“It Just Works”或IJW机制。
这是更高级的,因为它很可能需要更新和重新编译C ++模块。
混合程序集能够包含非托管机器指令和MSIL指令。这允许它们调用.NET组件并被其调用,同时保持与完全不受管理的组件的兼容性。使用混合程序集,开发人员可以使用托管和非托管功能的混合编写应用程序。这使得混合程序集非常适合将现有的Visual C ++应用程序迁移到.NET平台。