2018-03-18 创建人:Ruo_Xiao
邮箱:xclsoftware@163.com
1、作用:实现 C/C++ 混合编译。
2、栗子:
若 C 文件中有函数
int Add(int i,int t)
{
return (i+t);
}
(1)C 编译器会将函数重命名为“_Add”,并写入 C 对应的目标文件中。
(2)若 Cpp 文件中调用了该函数,则 C++ 编译器会将其函数重新命名为“_Addii”,并将此符号写入目标文件中。C++ 连接器根据此符号在 C 编译器生成目标文件中寻找该符号。
(3)如果不添加“extern “C””,则报链接错误。若添加,则 C++ 编译器会按照 C 编译器的命名规则命名此函数,则 C++ 连接器就可以找到该函数了。
3、究其原因:C++ 支持函数重载。