有關 Qt 的一個 Code 的問題

喜歡程式設計嗎?想要一窺 KDE/Qt 程式設計的奧秘嗎?想要
學習 X Window 上的視窗程式設計嗎?歡迎各類關於 KDE/Qt、Qtopia、Qt/Embedded、QSA、PyQt 等各類心得討論。

版主: AceLan, Franklin

有關 Qt 的一個 Code 的問題

文章ENZO » 週六 11月 20, 2004 11:54 am

我在看別人寫的範例時
看到一行 Code
代碼: 選擇全部
extern "C" void *cli (void *)

請問這是因為 *cli 為 C 所寫的
所以要加上 extern "C" 嗎
ENZO
 

文章AceLan » 週日 11月 21, 2004 10:58 am

這是因為 C++ 在 compile 成 object code 時
會去改變 function 的名字
不幸的是 各家 compiler 改變 function 名字的方式不統一
GCC compile 出來的 object code 沒辦法跟 VC compile 出來的 link
加上 extern "C" {} 的意思就是說 請以 C 的方式對待 function name
這樣 function name 就不會被修改
不同的 compiler compile 出來的 object code 就可以互相 link 成執行檔
AceLan
摩托學園!學園長們
摩托學園!學園長們
 
文章: 129
註冊時間: 週日 6月 01, 2003 7:53 pm
來自: KDE@Taiwan

文章ENZO » 週日 11月 21, 2004 2:48 pm

了解,感謝 :-D
ENZO
 


回到 KDE/Qt 程式設計

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客

cron