內容自行百度程序員
頭文件做用:編程
頭文件的做用 頭文件的做用有三: 一者,C\C++採用源文件單獨編譯爲object文件,最後有連接器連接object文件成爲可執行文件。頭文件解決了彼源文件中變量和函數在此源文件中引用。 兩者,頭文件中的函數接口和全局變量起佔位符的做用和參數類型與表達式匹配的合法行檢測的做用,早期的C編譯器不具備後者的功能。 三者,便於一二進制的形式發行類庫,所以源碼實現的細節。 頭文件的做用 早期的編程語言如Basic、Fortran沒有頭文件的概念,C++/C語言的初學者雖然會用使用頭文件,但經常不明其理。這裏對頭文件的做用略做解釋: (1)經過頭文件來調用庫功能。在不少場合,源代碼不便(或不許)向用戶公佈,只要向用戶提供頭文件和二進制的庫便可。用戶只需按照頭文件中的接 口聲明來調用庫函數,而沒必要關心接口是怎麼實現的。鏈接器會從庫中提取相應的代碼,並和用戶的程序鏈接生成可執行文件或者動態鏈接庫文件; (2)頭文件能增強類型安全檢查。若是某個接口被實現或被使用時的方式與頭文件中的聲明不一致,編譯器就會指出錯誤,這一簡單的規則能大大減輕程序員調試、改錯的負擔; (3)頭文件能夠提升程序的可讀性(清晰性)。 頭文件中的元素比較多,其順序(結構)通常應安排以下: (1)頭文件註釋(包括文件說明、功能描述、版權聲明等)(必須有); (2)內部包含衛哨開始(#ifndef XXX/#define XXX)(必須有); (3)#include其餘頭文件(若是須要); (4)外部變量和全局函數聲明(若是須要); (5)常量和宏定義(若是須要); (6)類型前置聲明和定義(若是須要); (7)全局函數原型和內聯函數的定義(若是須要); (8)內部包含衛哨結束:#endif // XXX(必須有); (9)文件版本及修訂說明。 上述排列順序並不是絕對,也不存在對錯之分,可根據具體狀況靈活安排。 若是程序中須要內聯函數,那麼內聯函數的定義應當放在頭文件中,由於內聯函數調用語句最終被擴展開來而不是採用真正的函數調用機制。 1,頭文件能夠定義所用的函數列表,方便查閱你能夠調用的函數; 2,頭文件能夠定義不少宏定義,就是一些全局靜態變量的定義,在這樣的狀況下,只要修改頭文件的內容,程序就能夠作相應的修 改,不用親自跑到繁瑣的代碼內去搜索。 3,頭文件只是聲明,不佔內存空間,要知道其執行過程,要看你頭文件所申明的函數是在哪一個.c文件裏定義的,才知道。 4,他並非C自帶的,能夠不用。 5,調用了頭文件,就等於賦予了調用某些函數的權限,若是你要算一個數的N次方,就要調用Pow()函數,而這個函數是定義在 math.c裏面的,要用這個函數,就必需調用math.h這個頭文件安全
混合編程:編程語言