GCC編譯爲什麼不用包含頭文件

編譯結果: 思考1:爲什麼a中沒有包含b的頭文件,卻能調用b中的函數? 因爲a.c和b.c用gcc一起聯合編譯,且只有一個main函數,在編譯階段,a會自動去b中尋找函數體. 思考2:將A的定義由a.h中改爲在b.c中定義,編譯報錯說A未定義? 因爲預處理在編譯之前,在預處理的時候,會展開#替換掉函數中的#等語句,這時候會檢查出A爲定義.
相關文章
相關標籤/搜索