6 c 和c的相互呼叫

2021-08-17 11:41:00 字數 576 閱讀 3564

extern

"c"int main(void)

#include 

#ifdef __cplusplus

extern "c"

#endif

int main()

注意

現在要寫乙個c語言的模組,供以後使用(以後的專案可能是c的也可能是c++的),原始檔事先編譯好,編譯成.so或.o都無所謂。標頭檔案中宣告函式時要用條件編譯包含起來,如下:

#ifdef __cplusplus

extern "c"

#endif

也就是把所有函式宣告放在some code的位置。

2. 如果這個模組已經存在了,可能是公司裡的前輩寫的,反正就是已經存在了,模組的.h檔案中沒有extern 「c」關鍵字,這個模組又不希望被改動的情況下,可以這樣,在你的c++檔案中,包含該模組的標頭檔案時加上extern 「c」, 如下:

extern

"c"

C和C 相互呼叫

c和c 相互呼叫 2011 11 01 18 42 29 分類 c c 在專案中融合c和c 有時是不可避免的,在呼叫對方的功能函式的時候,或許會出現這樣那樣的問題。近來在主程式是c語言,而呼叫c 功能函式的時候,c 的 h標頭檔案都能找到,功能函式也都定義了,最重要的是,單獨編譯c 的時候完全沒有問...

C 和C的相互呼叫

在c專案中融合c 和c的 是實際工程中不可避免的,就如一般底層的驅動是用c寫的,而應用層一般會用c c 的編譯器能相容c語言的編譯器,但他優先以c 的方式編譯 extern關鍵字強制讓c 編譯器對 進行c方式編譯注意 cplusplus 是c 編譯器都內建的乙個巨集,可以用來判斷是不是c 編譯器,那...

C 和C的相互呼叫

在實際的工程中,c 和c的相互呼叫時不可避免的。但是有時候用c語言的編譯器編譯成的軟體包,在c 的程式中呼叫會出現錯誤。先看一下乙個例子 add.c include add.h int add int a,int b add.h int add int a,int b 將這兩個檔案用c語言編譯器編譯...