我可以实例化和使用C#代码中的非托管C++类(例如,使用DllImport等)吗?

最佳答案

在Windows上,可以使用COM interop与C++一起使用。但是,这在Linux / Mac OS X上不起作用。

另一种选择是在C++类周围公开C包装程序(在C++中为外部“C”)。这是必需的,因为DllImport需要C ABI。

编辑:第三个选择是C++/CLI,即为.Net编译C++代码。这也是仅Windows的解决方案。

10-08 00:31