C 和C的相互呼叫

2021-07-09 12:13:39 字數 568 閱讀 3844

在c專案中融合c++和c的**是實際工程中不可避免的,就如一般底層的驅動是用c寫的,而應用層一般會用c++

c++的編譯器能相容c語言的編譯器,但他優先以c++的方式編譯

extern關鍵字強制讓c++編譯器對**進行c方式編譯注意:「__cplusplus」是c++編譯器都內建的乙個巨集,可以用來判斷是不是c++編譯器,那就可以決定c編寫的**是不是用extern來向c++編譯器來生明這個是用c編寫的檔案,從而對其進行c方式編譯,而不是c++方式編譯,這樣就不會出錯

#ifdef __cplusplus

extern "c"

#endif

#include "add.h"

int add(int a,int b)

#include

#include "add.h"

#include

int main(void)

這樣就可以呼叫c編寫的add函式

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 的程式中呼叫會出現錯誤。先看一下乙個例子 add.c include add.h int add int a,int b add.h int add int a,int b 將這兩個檔案用c語言編譯器編譯...

c和c 的相互呼叫

由於c和c 的函式符號生成的規則是不同的,符號解析 鏈結階段 的時候是不同的所以不能直接呼叫 可以在.cpp檔案中加上 extern c 如果想在.c檔案中使用.cpp檔案的函式,那麼在.cpp檔案中需要把整個函式的定義都放在extern c 中 如果我們需要寫乙個.c檔案需要呼叫.cpp檔案中的函...