看板 C_and_CPP 關於我們 聯絡資訊
要export的東西 #define EXPORT_API __attribute__((visibility("default"))) EXPORT_API void helloworld() { printf("hello world"); } gcc的參數的話, 要參考 -fvisibiliy這一個選項。 應該是debug mode下,他是用了default 而release的時候,他設了hidden,所以不會export任何的symbols出來。 這邊,為了能明確的表達什麼是要export出去的,所以還是用上面的比較好。 跟win32 API是一樣的… -- 給自己自信 不管面對什麼 總是能勇於創造 給自己謙虛 使自己能不斷的再學習 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.216.118.112
tinlans:不清楚 Xcode 底層怎麼 pass 參數給 GCC 的,不過如果是這 06/04 22:54
tinlans:問題,完全 portable 的寫法可以參考: 06/04 22:54
tinlans:http://gcc.gnu.org/wiki/Visibility 06/04 22:54
tinlans:我是覺得這種東西還是 programmer 平常自己要用 static 標 06/04 22:56
tinlans:好不想 export 的,或是用 namespace { } 括好。 06/04 22:57
tinlans:-fvisibility=hidden 我幾乎只有用在整理 legacy code 06/04 22:57
tinlans:的時候,去抓他到底哪些 function 要不要給外面用。 06/04 22:57
aecho:我是之前K Mac的文件,關於dynamic library讀到的~~ 06/05 09:14
aecho:雖然我要的是把obj-c包成lib,不過它先講了C/C++怎麼包~ 06/05 09:15
aecho:就一併讀一讀了,跟dll很像,也可以用類似.def檔的文件 06/05 09:20
aecho:決定要export的functions有哪些~ 06/05 09:20
aecho:三樓的連結有看一下,這功能似乎跟gcc的版本有關係~ 06/05 09:21