廣義的說,標頭檔案也屬於庫檔案的一種,當然,你所指的庫檔案是狹義的庫檔案。那個庫檔案,相當於標頭檔案與C檔案的一種有機集合,他是這麼製作出來的,舉個例子來說:當你寫了一些C檔案和標頭檔案,這些C檔案能夠正確的編譯,並能正確的生成Hex或者Bin程式碼檔案,那麼,你可以用Keil設定不輸出Hex,而是生成Lib檔案,也就是庫檔案,那麼,你生成的這個庫檔案與你原來的C檔案和標頭檔案的功能完全相同,所不同的是,你這個庫檔案是隻讀的,也就是說,你可以利用裡面的變數,利用裡面的函式,但是你無法修改。一些官方的庫檔案,比如ST公司的庫檔案也是這樣生成的。那麼,庫檔案有什麼意義呢?一是簡化開發過程,試想一下,你開發一個工程,要載入數十乃至數百個C檔案和標頭檔案,與只加載一個等效功能的庫檔案,哪個省事?而其最重要的一個意義就是保密性,由於庫檔案是隻讀的,且你看不到裡面的具體內容,所以,如果你想保密,不想讓別人知道你某些程式具體是如何實現的,那麼,就可以用庫檔案,這樣,別人可以使用你寫好的程式,但是,他們既修改不了,同時也看不到具體的實現過程。
廣義的說,標頭檔案也屬於庫檔案的一種,當然,你所指的庫檔案是狹義的庫檔案。那個庫檔案,相當於標頭檔案與C檔案的一種有機集合,他是這麼製作出來的,舉個例子來說:當你寫了一些C檔案和標頭檔案,這些C檔案能夠正確的編譯,並能正確的生成Hex或者Bin程式碼檔案,那麼,你可以用Keil設定不輸出Hex,而是生成Lib檔案,也就是庫檔案,那麼,你生成的這個庫檔案與你原來的C檔案和標頭檔案的功能完全相同,所不同的是,你這個庫檔案是隻讀的,也就是說,你可以利用裡面的變數,利用裡面的函式,但是你無法修改。一些官方的庫檔案,比如ST公司的庫檔案也是這樣生成的。那麼,庫檔案有什麼意義呢?一是簡化開發過程,試想一下,你開發一個工程,要載入數十乃至數百個C檔案和標頭檔案,與只加載一個等效功能的庫檔案,哪個省事?而其最重要的一個意義就是保密性,由於庫檔案是隻讀的,且你看不到裡面的具體內容,所以,如果你想保密,不想讓別人知道你某些程式具體是如何實現的,那麼,就可以用庫檔案,這樣,別人可以使用你寫好的程式,但是,他們既修改不了,同時也看不到具體的實現過程。