#ifdef

tech2022-12-19  125

#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总是一一对应的,表明条件编译开始和结束。

最新回复(0)