C++ extern “C”
extern “C” : 被extern "C"所修饰的代码会按照C语言的方式去编译。
- 格式:
extern "C" void fun();
extern "C" void fun(int v);
// 或者:
extern "C" {
void fun() {}
void fun(int v) {}
}
-
用途:
用于C和C++做混合开发。
由于 C 和 C++ 编译规则的不同,在 C 和 C++ 混合开发的时候,可能会经常使用到 extern “C”。
-
实现C和C++都能调用头一个头文件方法:
#pragma once
#ifdef __cplusplus // C++默认有这个宏
extern "C" {
#endif
int add(int, int);
int sub(int, int);
int divide(int, int);
#ifdef __cplusplus
}
#endif