C++語言之預編譯器

什麼是預處理器?

答:在真正的編譯開始之前由編譯器調用的獨立程序。預處理器可以刪除註釋、包含其他文件以及執行宏(宏macro是一段重複文字的簡短描寫)替代。

如何避免多重包含?

答: 

#ifndef SALESITEM_H 

     #define SALESITEM_H 

測試 SALESITEM_H 預處理器變量是否未定義。如果 SALESITEM_H 未定義,
那麼 #ifndef 測試成功,跟在 #ifndef 後面的所有行都被執行,直到發現 
#endif。相反,如果 SALESITEM_H 已定義,那麼 #ifndef 指示測試爲假,該指
示和 #endif 指示間的代碼都被忽略。


爲什麼要是#ifndef #define?

答:頭件的中的#ifndef,這是一個很關鍵的東西。比如你有兩個C文件,這兩個C文件都include了同一個頭文件。而編譯時,這兩個C文件要一同編譯成一個可運行文件,於是問題來了,大量的聲明衝突。

發佈了54 篇原創文章 · 獲贊 5 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章