我们想在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文件编译失败。
本文出自 “Yongkai” 博客,请务必保留此出处http://yongkai.blog.51cto.com/1290440/1625619
原文:http://yongkai.blog.51cto.com/1290440/1625619