1.概述
庫檔案,本質上是可執行**的二進位制形式,可被作業系統載入記憶體執行
我們可以理解為是一種儲存了一定函式的資料夾可以供我們呼叫
如我們編寫c語言程式時#include的stdio即是庫檔案介面(即告訴我們庫檔案的用法), 它包含了輸入輸出函式
庫檔案有系統自帶的,也可以我們自行製作
特別注意linux和windows是不同作業系統,二者庫的二進位制是不相容的
2.庫檔案的分類
庫檔案分為靜態庫和動態庫兩種
二者的不同點在於**被載入的時刻
靜態庫是在檔案執行前將**載入
動態庫在執行過程中使用庫檔案
靜態庫字尾為.a
動態庫字尾為.so
3.靜態庫和動態庫的區別
(2)記憶體大小:靜態庫編譯完後二進位制占記憶體很大,不執行時很佔記憶體
(3)部署:因為靜態庫內容是執行前載入,所以在執行過程中系統已知靜態庫全部內容,所以靜態庫相對便於部署
(4)公升級:動態庫作為編寫的庫具有很高的靈活性,便於公升級
4.靜態庫的製作:
靜態庫的命名規範是字首為lib緊跟庫名後加.a字尾結尾
步驟:(1)通過原始檔編譯為.o
(2)通過ar命令轉換為.a檔案,即生成庫檔案
ar命令用法
d:從庫中刪除成員檔案
r:在庫中加入成員檔案;若存在,則替換
c:建立乙個庫
s:強制重新生成符號表
t:檢視所包含的檔案
例:首先用vim寫乙個原始檔
將其編譯轉化為.o檔案
通過ar變為庫檔案
如果需要使用,還需要生成對應的標頭檔案
Linux學習 管理檔案(1)
重要目錄 位置用途 usr 安裝的軟體 共享庫,包括檔案和唯讀程式資料。重要的子目錄有 usr bin 使用者命令 usr sbin 系統管理命令 usr local 本地自定義軟體 etc 特定於此系統的配置檔案 var 特定於此系統的可變資料,在系統啟動之間保持永久性。動態變化的檔案 如資料庫 ...
linux檔案操作 學習筆跡1
1 open函式需要包含的標頭檔案,以及函式的定義 include include include intopen const char pathname,int flags int open const char pathname,int flags,mode t mode pathname 檔案...
Linux學習(1)基礎命令 檔案命令
1 man 該命令用來檢視指定命令的幫助資訊,語法格式 man 命令名稱 man cd2 ls 該命令用來顯示指定目錄下的內容,語法 ls 選項 目錄或檔案 常用選項 a 顯示指定目錄下的所有檔案及子目錄,包含隱藏檔案 a 顯示指定目錄下的 除 和 之外 所有檔案和子目錄 d 顯示指定目錄的屬性資訊...