預處理器標識#error的目的是什麼

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

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

#endif

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

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

#else

#endif

這樣,如果編譯時出現錯誤,輸出了XXX has been defined,表明宏XXX已經被定義了。


用處就是這樣,是不是感覺很沒有用處?

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