我可以从C#代码中实例化和“使用”非托管C类(比如使用DllImport等)吗?
解决方法:
在Windows上,您可以使用COM interop来使用C.但是,这不适用于Linux / Mac OS X.
另一种方法是在C类周围公开一个C包装器(C中的外部“C”).这是必要的,因为DllImport期望C ABI.
编辑:第三个替代方案是C++/CLI,即编译.Net的C代码.这也是一个仅限Windows的解决方案.
2022-05-17 05:07:13
我可以从C#代码中实例化和“使用”非托管C类(比如使用DllImport等)吗?
解决方法:
在Windows上,您可以使用COM interop来使用C.但是,这不适用于Linux / Mac OS X.
另一种方法是在C类周围公开一个C包装器(C中的外部“C”).这是必要的,因为DllImport期望C ABI.
编辑:第三个替代方案是C++/CLI,即编译.Net的C代码.这也是一个仅限Windows的解决方案.