主要用于C++和其他语言的混合编程,C语言不知处函数重载,编译之后的函数名依然是原函数名。C++支持函数重载,重载之后的函数名为原函数名+参数名。
例如函数:bool max(int a,int b)编译之后,C中为max,C++中为max_int_int.
C++中的使用:
在C++头文件中调用C语言,使用extern"c"声明,extern"c"告诉编译器,按照C语言的格式编译和链接.
extern还可以修饰变量和函数,例如 extern int g_int;就是声明这个变量或函数在其他文件中可见(意思就是定义在其他地方)
extern是声明不是定义,声明不分配内存空间,只是告诉编译器变量在其他地方定义了.