面试题答案
一键面试extern "C" {
int add(int a, int b);
}
int main() {
int result = add(3, 5);
return 0;
}
extern "C"
的作用是:C++编译器在编译函数时,会对函数名进行重整(name mangling),以支持函数重载等特性。而C语言没有函数名重整机制。extern "C"
就是告诉C++编译器,对其修饰的函数按照C语言的方式进行编译和链接,这样C++代码就能正确调用C语言编写的函数,避免因函数名重整导致链接错误。