#ifdef __cplusplus
extern "C"
{
#endif
#ifdef __cplusplus
}
#endif
这段语句出现在头文件中
C++和C对产生的函数名字的处理是不一样的,我们编写一段cpp的代码,C++调用C时需要加入这段语句。
设计C++时,考虑到当时已经存在了大量的C代码,为了支持原来的C代码和已经写好C库,需要在C++中尽可能的支持C,而extern"C"就是其中的一个策略。因此,为了在C++代码中调用用C写成的库文件,就需要用extern"C"来告诉编译器:这是一个用C写成的库文件,请用C的方式来链接它们。
这个{}里面的#endif对应上面的#ifdef-cplusplus,#ifdef-cplusplus对应最后的#endif, #ifdef与#endif总是一一对应的,表明条件编译开始和结束。