源代碼
在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下執行。