我们知道C和C++在编译时对函数有一个mangling过程~所以C和C++程序不能直接相互调用,必须使用extern "C"进行修饰~
一般来说,我们会这样写头文件中:
#ifdef __cplusplus //注意__cplusplus是C 编译器的保留宏定义.就是说C 编译器认为这个宏已经定义了,一定要完全一样,否则会出问题
extern "C"{ //extern "C" {} 是告诉C++编译器,括号里的东东是按照C的obj文件格式编译的,要连接的话按照C的命名规则去找.
#endif
//函数接口声明
#ifdef __cplusplus
}
#endif
这样,C和C++的程序就能相互调用了~