linux下程式設計學習 靜態庫和動態庫的編譯

2021-06-16 00:22:12 字數 441 閱讀 7817

學習linux下c很長一段對動態庫和靜態庫的編譯和使用總是透著霧水,今天看了一本書《linux程式設計第2版》,總算弄清楚了,所謂庫檔案是預先編譯好的函式集合,函式庫一般分為靜態和共享兩種格式。

靜態庫:靜態庫也叫檔案(archive),他們的名字都按管理 *.a 命名,其實說白了,所謂的靜態庫也就是被歸檔的

二進位制目標**檔案,當要使用時,就用include 來包含該庫的標頭檔案即可,當然如果不是標準庫,要指名路徑,用」-l「 指名,自己建立靜態庫,用歸檔命令」ar「 即可,例如」ar crv  test.a  test1.o test2.o「

動態庫:動態庫也叫共享庫,系統存放的位置和靜態庫是乙個地方,不通的是字尾名不一樣,以」.so「結尾,

如果乙個程式使用動態庫,則該程式本身不包含呼叫的函式**,只包含呼叫的線索,只是在程式需要調

用時才去呼叫動態庫。這也就是所謂」動態「的含義吧。

Linux下靜態庫學習筆記

linux下靜態庫學習筆記 1.什麼是庫 1 1.庫是一種軟體元件技術,庫裡面封裝了資料和函式。庫的使用可以使程式模組化。linux通常把庫檔案存放在 lib或 usr lib目錄下。使用者建立的可以放在 usr local lib目錄下。win32平台下,靜態庫通常字尾為.lib,動態庫為.dll...

linux 下靜態庫和動態庫

我們通常把一些公用函式製作成函式庫,供其它程式使用。函式庫分為靜態庫和動態庫兩種。靜態庫在程式編譯時會被連線到目標 中,程式執行時將不再需要該 靜態庫。動態庫在程式編譯時並不會被連線到目標 中,而是在程式執行是才被載入,因此在程式執行時還需要動態庫存在。本文主要通過舉例來說明在 linux中如何建立...

Linux 檔案程式設計 靜態庫和動態庫

從現在開始,進入樹莓派的開發程式設計階段階段 linux庫概念及相關程式設計 1.分模組程式設計 多個檔案如何編譯 編譯 gcc a.c b.c include 優先從當前路徑去找 比如 test tset.out gcc是先在test這個資料夾下面,先找找看,看有沒有這個標頭檔案。找不到再去 us...