extern "C"的用途—在C++程式碼中嵌入C程式碼

变秃了也就变强了發表於2024-06-09

常用寫法

#ifdef __cplusplus //如果使用C++編譯器(有__cplusplus宏定義)
extern "C" {       //告訴C++編譯器按照C的名稱修飾規則來處理函式名和變數名
#endif /* __cplusplus */

// 這裡是C語言的函式宣告或定義
void myCFunction();

#ifdef __cplusplus
}
#endif /* __cplusplus */

錯誤寫法(假設確實是用的C編譯器,那麼extern "C" {}的內容都不會被執行)

#ifdef __cplusplus
extern "C" {
// 這裡是C語言的函式宣告或定義
void myCFunction();
}
#endif /* __cplusplus */

相關文章