C 使用extern C 簡單使用

2021-10-01 20:43:03 字數 660 閱讀 5152

先說一下函式過載, c++ 之所以會進行函式過載, 是因為對函式名進行二次修飾(重新命名)

在c檔案中寫好的程式, c++引入過來,卻沒法使用提示 無法連線的外部符號,那是因為c++按照c++的函式命名機制來尋找函式的實現.

第一種情況:

檔案為 test.h

void show(); // 進行了函式宣告
檔案 test.c

#include "test.h"

void show()

檔案 main.cpp 如果想使用 test.h 中宣告的 show函式,需要使用

extern 「c」 void show();

#include "test.h"

extern "c" void show(); //告訴編譯器,用c的方式去鏈結show函式

void test()

第二種情況:

是在c檔案中做修改

需要修改檔案 test.h

//如果是c++在執行本檔案時候, extern c 包含的內容用c語言方式連線

#ifdef __cplusplus

extern "c"

#endif

C語言中 extern C 使用

作用 實現c 與c語言的互通性。一 標準標頭檔案的結構 ifndef incvxworksh define incvxworksh ifdef cplusplus 如果採用了c 如下 使用c編譯器 cplusplus是cpp中的自定義巨集,那麼定義了這個巨集的話表示這是一段cpp的 也就是說,上面的...

C 中使用C語言 extern c

個人理解 extern c 為什麼引入?是因為可移植性,能在c 中使用c 或在c 中使用c 我們都知道同乙個普通的函式在c 編譯器和c編譯器編譯後在符號庫的名字是不同的。我們在c 中呼叫c函式的話,如果不用extern c 的話,你呼叫這個函式的話,編譯器是以c 的方式去查詢,所以會提示未定義,必須...

extern C 的使用要點

extern c 的主要作用就是為了能夠正確實現c 呼叫其他c語言 加上extern c 後,會指示編譯器這部分 按c語言的進行編譯,而不是c 的。由於c 支援函式過載,因此編譯器編譯函式的過程中會將函式的引數型別也加到編譯後的 中,而不僅僅是函式名 而c語言並不支援函式過載,因此編譯c語言 的函式...