Linux庫的介紹

2021-10-10 19:59:53 字數 1360 閱讀 4003

使用gnu的工具我們如何在linux下建立自己的程式函式庫?乙個「程式函式庫」簡單的說就是乙個檔案包含了一些編譯好的**和資料,這些編譯好的**和資料可以在事後供其他的程式使用。程式函式庫可以使整個程式更加模組化,更容易重新編譯,而且更方便公升級。

程式函式庫可分為3種型別:靜態函式庫(static libraries)、共享函式庫(shared libraries)、動態載入函式庫(dynamically loaded libraries):

(1)靜態函式庫,是在程式執行前就加入到目標程式中去了 ;

(2)動態函式庫同共享函式庫是乙個東西(在linux上叫共享物件庫, 檔案字尾是.so ,windows上叫動態載入函式庫, 檔案字尾是.dll)

linux中命名系統中共享庫的規則

(1)命名規則

靜態庫檔案的命名方式是「lib***.a」,字尾用「.a」,"***"為靜態庫名。

(2)製作步驟

原材料:源**.c 或者 .cpp

將.c檔案生成.o,語句 gcc a.c -c生成a.o檔案

將.o打包 ,方式 :ar rcs 靜態庫的名字 原材料

ar rcs libtest.a a.o

(3)庫的使用

gcc test.c -i .

/include -l .

/

-i(大寫i):指定標頭檔案的路徑

-l: 指定庫的路徑

-l(小寫l):指定庫的名字(去掉lib和.a)

-o:指定生成的最終應用程式的名字

(1)命名規則

動態庫的命名方式與靜態庫類似,字首相同,為「lib」,字尾變為「.so」。所以為「libmytime.so」

(2)製作步驟

原材料:源**.c 或者 .cpp

將.c檔案生成.so,語句 gcc -shared -fpic a.c -o libtest.so生成a.o檔案

-shared 指定生成動態庫

-fpic 標準,fpic選項用於編譯階段,生成目標檔案時就得使用該選項,以生成位置無關的**

(3)庫的使用

gcc	test.c -i .

/include -l .

/

-i(大寫i):指定標頭檔案的路徑

-l: 指定庫的路徑

-l(小寫l):指定庫的名字(去掉lib和.so)

export ld_library_path=

"絕對路徑"

linux下庫的介紹與使用

1.linux中的庫 庫用於將相似函式打包在乙個單元中。然後這些單元就可為其他開發人員所共享,並因此有了模組化程式設計這種說法。在linux下常見的庫檔案,就是 so檔案。linux中絕大多數.so檔案都存放在 lib usr lib 見linux目錄結構 對於64位和32位共存的系統,32位的動態...

Linux標準IO庫快取策略介紹

標準io庫操作是圍繞著流來進行的,當我們通過fopen標準io庫函式開啟乙個檔案,我們就使乙個檔案和乙個io流相關聯。在這裡我們把io流和檔案指標file 等同起來,因為所有針對io流的操作都是通過file 指標來實現的。我們知道引入標準io庫的目的是為了提高io的效率,避免頻繁的進行read wr...

TensorFlow 庫的介紹

1 numpy numpy 是用來儲存和處理大型矩陣的科學計算包,比 python 自身的巢狀列表結構 list 要高效的多。安裝 pip install numpy upgrade 2 matplotlib matplotlib 是 python 最著名的繪圖表,它提供了一整套和 matlab 相...