MST
星途 面试题库

面试题:C++中extern "C"在函数声明中的应用

在C++项目中,有一个已经用C语言编写好的函数`int add(int a, int b)`,现在要在C++代码中调用它,请写出在C++中正确声明该函数并调用的代码示例,解释extern "C"在其中的作用。
41.8万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试
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语言编写的函数,避免因函数名重整导致链接错误。