在C++程序中调用被C编译器编译后的函数,为何要在声明的前面加extern "C"?ide
答:c语言不支持重载,C++支持重载函数
为了告诉编译器这个函数是C的编译风格,因此在找这个函数的时候也要按照C的风格去找spa
好比:在C++中写一个add函数编译器
int add(int n1, int n2)it
它找到的是?add@@YAHHH@Z编译
?函数名@@YA参数参数返回值@Zclass
H表明int M表明floatfloat
@@YA表示开始 @Z表示结束程序
在C语言中写一个add函数语言
int add(int n1, int n2)
它找到的是_add