Mono noobie在这里,
我想在我为iPhone和Android编写的应用程序中使用现有的c ++库。 我正在尝试找到将其绑定到我的Mono项目的最佳策略,以便从平台到平台的更改将是最小的。
我试图在网上阅读它并遇到了CXXI,P / Invoke等,但无法理解这些方法是否适用于所有平台。另外,我无法弄清楚CXXI是否足够稳定,或者它是否适合MonoDroid和MonoTouch。
您认为哪种方法最方便,最跨平台?
答案 0 :(得分:5)
目前最简单的方法是在 C ++ 库上编写 C 包装,然后为您的(新)C API编写p / invokes。这种方法用于开发Moonlight(Silverlight的开源实现),其中核心是C ++,但所有内容都以C语言暴露给托管世界。
某些平台会有特殊要求(例如在iOS上你需要建立一个静态库),但这不应该阻止你。
最好的办法是用Swig等工具绑定东西