8.8 標頭檔案剖析:基本概念

yzm65580952發表於2020-10-28

8.8 標頭檔案剖析:基本概念

為什麼要有標頭檔案?

C語言的歷史遺留問題
區域性編譯:以C檔案為單位進行編譯,然後再進行連結
編譯檢查:變數、函式的宣告

函式、變數的宣告

先宣告後使用

C語言的區域性性:以檔案為單位編譯,防止編譯錯誤
任何識別符號在使用之前都要宣告(跳轉標籤、main除外)

宣告的方法

在函式內宣告
在函式外宣告
在標頭檔案中宣告

標頭檔案作用

資料型別定義
巨集定義
變數宣告
函式宣告
模組的介面匯出
庫的介面宣告

變數的定義和宣告有什麼區別?

主要區別是是否產生記憶體分配的操作
變數的定義,最終會生成彙編相關操作、分配記憶體
變數的宣告,是告訴編譯器,該變數在其它地方定義
定義只能一次,宣告可以多次

標頭檔案會增加可執行檔案的體積嗎?

程式的編譯、連結
標頭檔案的預處理過程

相關文章