Re: [問題] 請問vc中的__declspec(dllexport),GCC …

看板C_and_CPP作者 (星空下的鮪魚)時間14年前 (2010/06/04 21:08), 編輯推噓0(0012)
留言12則, 2人參與, 最新討論串4/4 (看更多)
要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

06/04 22:54, , 1F
不清楚 Xcode 底層怎麼 pass 參數給 GCC 的,不過如果是這
06/04 22:54, 1F

06/04 22:54, , 2F
問題,完全 portable 的寫法可以參考:
06/04 22:54, 2F

06/04 22:54, , 3F

06/04 22:56, , 4F
我是覺得這種東西還是 programmer 平常自己要用 static 標
06/04 22:56, 4F

06/04 22:57, , 5F
好不想 export 的,或是用 namespace { } 括好。
06/04 22:57, 5F

06/04 22:57, , 6F
-fvisibility=hidden 我幾乎只有用在整理 legacy code
06/04 22:57, 6F

06/04 22:57, , 7F
的時候,去抓他到底哪些 function 要不要給外面用。
06/04 22:57, 7F

06/05 09:14, , 8F
我是之前K Mac的文件,關於dynamic library讀到的~~
06/05 09:14, 8F

06/05 09:15, , 9F
雖然我要的是把obj-c包成lib,不過它先講了C/C++怎麼包~
06/05 09:15, 9F

06/05 09:20, , 10F
就一併讀一讀了,跟dll很像,也可以用類似.def檔的文件
06/05 09:20, 10F

06/05 09:20, , 11F
決定要export的functions有哪些~
06/05 09:20, 11F

06/05 09:21, , 12F
三樓的連結有看一下,這功能似乎跟gcc的版本有關係~
06/05 09:21, 12F
文章代碼(AID): #1C2FgmZi (C_and_CPP)
文章代碼(AID): #1C2FgmZi (C_and_CPP)