怎么使用extern C
时间: 2024-03-01 12:54:00 浏览: 63
C++中的extern “C”用法详解
在 C++ 中,extern "C" 是一种指示编译器按照 C 语言规则进行函数命名和链接的方式。在使用 C++ 编译器的情况下,如果一个函数没有使用 extern "C",则编译器会按照 C++ 的命名规则生成函数名。而在 C 语言中,函数名是以 C 语言的方式进行命名的。
如果您需要在 C++ 中调用 C 语言编写的函数,或者将 C++ 编写的函数作为库函数供 C 语言调用,就需要使用 extern "C" 来指定使用 C 语言的命名规则。
下面是一个使用 extern "C" 的示例:
```
#ifdef __cplusplus
extern "C" {
#endif
// C 语言编写的函数声明
void my_c_function(int arg);
#ifdef __cplusplus
}
#endif
```
在上面的示例中,#ifdef __cplusplus 和 #endif 之间的代码将被 C++ 编译器忽略,而在这之间的函数声明则指定了使用 C 语言的命名规则进行编译和链接。
在实际代码中,您只需要在 C 语言函数的声明前加上 extern "C",就可以使用 C 语言的命名规则编译和链接它们了。例如:
```
extern "C" {
void my_c_function(int arg);
}
```
这样,在 C++ 中就可以正确调用 my_c_function 函数了。
阅读全文