在c#项目中使用c++ API

本文关键字:c++ API 项目 | 更新日期: 2023-09-27 18:05:35

是否可以在c#项目中使用c++ API(一系列头文件和CPP文件)?

也许可以将这些文件编译成.obj.lib文件,并将它们包含在Visual c#项目中?对Crypto++做了类似的事情。

如果可能的话,有什么缺点吗?

上下文和导入信息:

    c++ API名为NWCreate,由Autodesk Navisworks开发。
  • 我正在使用Microsoft Visual Studio c# 2010
  • 我们有一个庞大的c#代码库,其中我们将在navisworks插件中执行的许多操作已经用c#编写(来自我们制作的其他Autodesk项目)。因此,在c++中重写所有这些操作就像是重新发明轮子。

在c#项目中使用c++ API

至少有两种方法可以从。net调用C/c++ API:

  • 编译C/c++ API作为dll,然后使用PInvoke从。net调用它
  • 使用托管c++ (vc++),然后使用IJW包装本机代码,IJW将生成可以直接从。net调用的托管代码