預處理 #error 的作用

 編譯程序時,只要遇到 #error 就會跳出一個編譯錯誤,其目的就是保證程序是按照你所設想的那樣進行編譯的。

舉個例子:
程序中往往有很多的預處理指令
#ifdef XX
...
#else

#endif

當程序比較大時,往往有些宏定義是在外部指定的(如makefile),或是在系統頭文件中指定的,當你不太確定當前是否定義了 XX 時,就可以改成如下這樣進行編譯:

#ifdef XX
...
#error "XX has been defined"

#else

#endif

 

如果 XX 被定義了的話,編譯的時候編譯器就會報錯,error c320 "XX has been defined".

所以 用#error 可以用於檢查一個宏是否已經被定義了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章