溫馨提示×

c++中extern c的用法是什么

c++
小億
84
2024-04-22 18:34:46
欄目: 編程語言

在C++中,使用extern "C"關鍵字可以告訴編譯器將函數的名字按照C語言的方式進行編譯。這在C++中主要用于解決C++代碼與C代碼進行混編時的一些問題。

具體來說,當在C++代碼中調用C語言編寫的函數時,由于C++對函數名進行了名稱修飾(name mangling),使得C++函數名與C函數名不匹配,導致編譯錯誤。使用extern "C"關鍵字可以告訴編譯器不對函數名進行修飾,從而使得C++代碼能夠正確地調用C函數。

示例代碼如下所示:

// C代碼
// c_functions.h
#ifdef __cplusplus
extern "C" {
#endif

void c_function();

#ifdef __cplusplus
}
#endif
// C++代碼
// main.cpp
#include "c_functions.h"

int main() {
    c_function(); // 調用C函數
    return 0;
}

在上面的示例中,使用了extern "C"關鍵字將C函數的聲明嵌入到C++代碼中,以便在C++中調用C函數。這樣可以保證調用C函數時不會出現名稱匹配的問題。

0