linux庫檔案學習1

2021-07-30 07:33:25 字數 1045 閱讀 4099

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 顯示指定目錄的屬性資訊...