2011-12-02 28 views
0

我想引用我从Objective-C/iPhone项目中用C编写的静态库,但我想知道是否可以从Objective- C模块?从iPhone/Objective-C项目调用写入C的静态库

我的问题是,由于线程函数不是标准C库的一部分,编译过程中可能会有未解决的链接。

任何想法/建议将不胜感激。

谢谢

回答

2

线程与链接完全无关。线程化是同时运行多个代码分支的行为(事实上,如果有多个CPU和/或多个CPU核心,那么实际上就是字面上的)。链接是在库中查找函数的操作,以便您的代码可以调用它们。两者之间没有任何关系,唯一的例外是链接提供线程支持的库(您不需要关心,因为Xcode已经做到了这一点)。

有几个博客条目解释了如何将静态库链接到项目中。

如果您担心该库不是线程安全的,则需要确保在每次调用库中的函数时使用NSLock。请参阅this article,了解NSLock是什么以及您为什么需要它。