经常在C语言的头文件中看到下面的代码: #ifdef __cplusplus extern "C" { #endif // all of your legacy C code here #ifdef __cplusplus } #endif 这通常用于C++和C混合编程的时候,为了防止C++的编译器在编译C文件的时候出现错误: 众所周知,C++可以进行函数名重载,但是C则没有这种功能,那这和extern "C"又有什么关系呢? 先看下面这个表格,如下所示: 语言 描…
1.extern 修饰一个变量,告诉编译器这个变量在其他地方定义,编译器不会给出变量未定义的警告. extern tells the compiler that the variable is defined somewhere else, so it doesn't complain about it being undefined.--includes.hextern int count;--main.cpp#include "includes.h"int count = 4;--…