我正在阅读将本地库链接到MonoTouch,特别是本文档:
http://monotouch.net/Documentation/Linking_Native_Libraries
这里描述了与C库的链接。是否也可以从MonoTouch链接到C ++库?我是MonoTouch的新手,尤其是导入库的新手,所以如果确实有可能,我会很感激有关我可能会尝试导入C ++库的问题的任何建议。将C ++库包装在Objective-C库中,然后使用btouch导入它是一个很好的选择?或者有更简单的方法吗?请记住,我对C ++(以及Objective-C)的了解最好被描述为“危险”。 ;)
我问的原因是我需要使用Sybase的C ++ API来访问他们的Ultralite数据库。我已经设法获得一个示例应用程序,该应用程序使用Objective-C访问在Xcode中工作的Ultralite C ++ API。但现在我正在尝试将此示例移植到MonoTouch。示例应用程序可以在这里找到:
https://github.com/BruceHill/Ultralite-Names-Sample-ObjC
Xcode的Sybase文档提到了以下内容,并参考了在Xcode中使用API:
本教程使用UltraLite C ++ API。为了消除转换为C类型的需要,将源代码编译为C ++。要将项目编译为C ++:
这对于在MonoTouch中使用此API有何意义?
答案 0 :(得分:0)
你当然可以使用C ++ api,但你需要将它包装在C api或ObjC + btouch api中才能与之交谈。调用C api使用PInvoke,而C ++库使用符号重整。虽然从理论上讲你可能会对错位符号进行调整,但这不是一个好主意,因为修改是编译器特定的。