源代码
在CCS中常常有以前的代码,常在.h文件中出现
#ifdef __cplusplus
extern "C"{
#endif
*一段代码
#ifdef __cplusplus
}
#endif
代码分析
- #ifdef的用法
#ifdef 被定义的
*代码
#endif
上述代码的含义为:如果定义了“被定义的”,那么就执行代码。
- __cplusplus
__cplusplus是c++定以的宏。 - extern “C”{}
在C++中,为了支持重载机制,在编译生成的汇编码中,要对函数的名字进行一些处理,加入比如函数的返回类型等等。而在C中,只是简单的函数名字而已,不会加入其他的信息。也就是说:C++和C对产生的函数名字的处理是不一样的。所以这语句是为了在C++中执行C语言的语句。 - 源代码整体含义
如果是在C++执行代码的话,则extern “C”{}声名有效,此时其中这段代码将按照过C的方式进行编译。
目的总结
为了代码既能在C++下执行,也能在C下执行。