Sti*_*MAN 14 c# c++ mono pinvoke c++-cli
我需要向C#公开一些C++类(我在Linux上构建,使用单声道,所以COM不是一个选项)
到目前为止我收集的证据表明,解决这个问题的最佳方法是:
我有以下问题:
您不能使用Mono在Linux上执行C++/.NET类.Mono不支持托管C++或C++/CLI,因此无法"围绕ISO C++类编写包装器C++ .Net类".
您最好的选择是为您的C++类生成一个C API,可以通过Platform Invoke访问它.
话虽这么说,缓解这个问题的一个选择是使用SWIG为你生成包装器.它支持从C++类生成C#包装器(以及其他语言的包装器),并且在Linux/Mono上运行良好.
编辑:
对于官方"Mono不支持混合模式C++/CLI",请参阅语言页面:
重要的是要注意,任何编译为纯IL的语言都应该在Mono下工作.某些语言(如Microsoft的托管C++)并不总是编译为纯IL,因此它们并不总是按预期工作,因为它们不是真正独立于平台的.
用于本机互操作的C++/CLI需要非纯IL,因此它不适用于Mono.
| 归档时间: |
|
| 查看次数: |
3234 次 |
| 最近记录: |