2013年2月2日 星期六

Objective-C++ 使用 C function 的注意事項

寫 Objective-C++ (*.mm) 的時候, 記得規則和 C++ 一樣, 函式名稱會有name mangling。呼叫純 C 的函式時, 要留意編譯 C 的原始碼時, 是用 C 或 C++ 的方式編譯。若 object file 是用 C 的方式編譯, 引入的 header 檔要加上 "extern C" 的語法。

話說我是用 nm 看編出的 static lib 和呼叫它的 object file 時, 發現有兩個長得很像但不一樣的函式名稱, 才想起這件事。

相關文章:

沒有留言:

張貼留言

在 Fedora 下裝 id-utils

Fedora 似乎因為執行檔撞名,而沒有提供 id-utils 的套件 ,但這是使用 gj 的必要套件,只好自己編。從官網抓好 tarball ,解開來編譯 (./configure && make)就是了。 但編譯後會遇到錯誤: ./stdio.h:10...