2011-12-02 65 views
0

我想引用我從Objective-C/iPhone項目中用C編寫的靜態庫,但我想知道是否可以從Objective- C模塊?從iPhone/Objective-C項目調用寫入C的靜態庫

我的問題是,由於線程函數不是標準C庫的一部分,編譯過程中可能會有未解決的鏈接。

任何想法/建議將不勝感激。

謝謝

回答

2

線程與鏈接完全無關。線程化是同時運行多個代碼分支的行爲(事實上,如果有多個CPU和/或多個CPU核心,那麼實際上就是字面上的)。鏈接是在庫中查找函數的操作,以便您的代碼可以調用它們。兩者之間沒有任何關係,唯一的例外是鏈接提供線程支持的庫(您不需要關心,因爲Xcode已經做到了這一點)。

有幾個博客條目解釋瞭如何將靜態庫鏈接到項目中。

如果您擔心該庫不是線程安全的,則需要確保在每次調用庫中的函數時使用NSLock。請參閱this article,瞭解NSLock是什麼以及您爲什麼需要它。