要在XCode中使用的C++静态库

C++ static library to be used in XCode

本文关键字:C++ 静态 XCode 要在      更新时间:2023-10-16

这可能不是一个简单的问题,所以我不是在寻找一个明确的答案,而是寻找一些指引,让我朝着正确的方向前进。

我完全没有使用C/C++的经验,但对Objective-C有很好的了解。我对不同的编译器和体系结构也不太了解,所以如果我说的是愚蠢的话,请注意:)

我有一些MatLab代码需要移植到Objective-C才能在iPhone应用程序上运行。我完成这项工作的第一个尝试路径是检查MatLab是否可以将代码导出为静态C/C++库,我可以从Objective-C代码中调用该库。

事实似乎是这样,但我不完全确定下一步该做什么,以及在MatLab端编译库时需要记住什么(即架构、兼容性、PC与Mac等)。

我收到了一个.DLL和.LIB文件,我认为这些文件是Windows编译的,所以对我没有用处,这是正确的吗?通过使用以前的静态库,我可以看到它们都有.a扩展——我需要做什么才能得到一个与iPhone架构兼容的扩展?

一旦我编译了库,如何在我的项目中导入和使用它?我可以直接从代码中调用公共方法吗?

我还需要知道或意识到什么?

非常感谢您的帮助!

谢谢,

Rog

静态库包含为某些特定操作系统和平台量身定制的二进制代码。这意味着它将使用操作系统内部获取内存(如果它使用动态内存)或执行任何其他特定于操作系统的操作(日志记录、输出)。

即使生成的代码完全与操作系统无关(基本数学可以在没有操作系统支持的情况下实现),平台也完全不同,matlab将为英特尔平台生成代码,iPhone在ARM架构中运行,使用不同的指令集调用约定。。。

除非matlab能够为iPhone或至少为ARM平台生成静态库,并使其与操作系统无关,否则你就倒霉了。