lib檔案格式是用於存儲程式的庫檔案,通常以「.lib」作為檔案擴展名,在Windows作業系統中,lib檔案可以是靜態或動態程式庫。
靜態程式庫(Static-Link Library)通常以「.lib」作為檔案擴展名,也可以是以「.a」等,它包含了運行時所需的所有代碼,可以獨立運行,在生成執行檔前,將目標檔案(.obj),運行時的函式館(.lib),已編譯的資源檔案(.res)等全部連結到了一起,打包成二進制檔案。動態程式庫(Dynamic-Link Library)通常是以「.dll」作為檔案擴展名,也可以是以「.so」,「.sys」,".drv"等,它包含了運行時所需的代碼塊位置信息,不可以獨立運行,需要搭配相應的庫檔案。
lib檔案的內容包括First Section,Second Section,Longname Section和Obj Section,其中Second Section與Longname Section是可選節,很多Lib檔案中都沒有,First Section包含了庫中所有的符號名以及這些符號所在的目標檔案在庫中的位置(絕對偏移),Second Section的內容和First Section是相同的,不同的是,Second Section是一個有序表,通過它來查找庫中的符號比通過First Section來查找要快很多。