我们想在C++文件中定义C语言的函数,不想让其名字被mangle,可以用以下的方式来声明或者定义:

extern "C"
{
    int testMethod(int a, int b);
}


另外,其实也类似,C++文件最好不要include C文件,因为如果直接include C文件的话,没有extern "C",C++会将其名字mangle.

C文件也最好不要include C++的头文件,因为C++的头文件往往会包含class的定义,造成C文件编译失败。