在 C++ 程序中调用被 C 编译器编译后的函数,为什么要加
2017-11-16 本文已影响12人
赵者也
C++ 中多了重载。也就是说,函数名一样,函数的参数和返回值可以不同
为了做到这个,函数在编译时都会重新命名
用 C 编译器编译的函数没有按这种规则重新命名,那么你加上 extern,告诉 c++ 编译器
“这是 C 编译器编译的程序,要按 C 的命名方式来识别函数”
C++ 中多了重载。也就是说,函数名一样,函数的参数和返回值可以不同
为了做到这个,函数在编译时都会重新命名
用 C 编译器编译的函数没有按这种规则重新命名,那么你加上 extern,告诉 c++ 编译器
“这是 C 编译器编译的程序,要按 C 的命名方式来识别函数”