4

Mono noobie在这里,

我想在为 iPhone 和 Android 编写的应用程序中使用现有的 c++ 库。我正在尝试找到将其绑定到我的 Mono 项目的最佳策略,以便平台之间的变化最小。

我试图在网上阅读它并遇到了 CXXI、P/Invoke 等,但无法理解这些方法是否适用于所有平台。另外,我不知道 CXXI 是否足够稳定,或者它是否适合 MonoDroid 和 MonoTouch。

您认为哪种方法最方便、最跨平台?

4

1 回答 1

5

目前最简单的方法是在您的C++库上编写C包装器,然后为您的(新)C API 编写 p/invokes。这种方法用于开发 Moonlight(Silverlight 的开源实现),其中核心是 C++,但所有内容都作为 C 公开给托管世界。

某些平台会有特殊要求(例如,在 iOS 上,您需要构建一个静态库),但这不应该阻止您。

您最好的选择是使用 Swig 之类的工具绑定内容

于 2012-04-20T19:27:53.460 回答