gbd偵錯程式及靜態庫 動態庫的製作

2021-09-25 10:00:21 字數 953 閱讀 2168

通過執行命令「 gcc -g ***.c -o *** 對*** .c 進行編譯,其中引數g的作用是把除錯資訊加入生成的***可執行檔案中否則無法對***進行除錯

常用命令:

run 進行(r)

list 顯示**(l)

break 打斷點(b)使用行號或者函式名

continue 繼續執行(c)

print 列印變數的值 (p)

next 執行下一條語句 (n)跳過函式

step 執行下一條語句 (s)遇到函式,進入函式

1.編寫三個檔案 例如main.c f1.c f2.c

2把f1.c 和 f2.c 編譯成.o檔案 gcc -c f1.c f2.c

3把.o檔案合併成靜態庫 ar -crv libxx.a f1.0 f2.0

4編譯 main.c gcc main.c -o main -static -l . -lxx (l告訴編譯器庫檔案在哪 l告訴編譯器庫的名字)

優點是對環境沒有要求

缺點是檔案太大

1.編寫三個檔案

2把原始檔編譯成動態庫 gcc -fpic -shared -o lib***.so f1.c f2.c

3.編譯main.c gcc main.c -o main -l .-l***

優點生成檔案小

缺點對環境有要求

附:bin :二進位制可執行檔案,存放可執行檔案即常用命令

dev :存放裝置檔案

lib :存放庫檔案

root :root使用者家目錄

sys ,proc :儲存核心資訊

var :儲存日誌檔案

etc :儲存系統配置檔案

home : 普通使用者家目錄

sbin :存放高階別命令(存在於這個目錄的命令,只有管理員能用)

usr :存放使用者安裝的軟體

boot :存放啟動檔案

mnt :掛載檔案

筆記(5)靜態庫和動態庫 gdb偵錯程式

靜態庫和動態庫的製作與使用 1 什麼是庫檔案?儲存函式和變數,只能使用不能看到其實現。sdk開發包 庫檔案 開發工具 2 linux庫檔案分類 a 靜態庫 使用靜態庫編譯程式,是在編譯時載入。so動態庫 使用動態庫編譯程式,是在執行時載入。使用靜態庫和動態庫編譯生成可執行檔案的優缺點?靜態庫 可執行...

Linux 靜態庫及動態庫

庫的製作和使用 什麼是庫 1 庫是二進位制 2 庫是加了密的源 3 庫是功能相近或者相似的函式的集合 庫的作用 1 的復用性,提高了軟體開發的效率,而且穩定安全.庫的製作 庫分為靜態庫和動態庫 庫的名字 libtest1.a 材料 main.c fun1.c fun2.c head.h main.c...

linux庫及靜態庫及動態庫的建立

庫 庫是一組預先編譯好的函式的集合,這些函式都是按照可重用的原則編寫的。它們通常由一組相互關聯的函式組成以執行某項常見任務,比如螢幕處理函式庫和資料庫訪問例程。庫分為靜態和動態庫兩種,這裡先介紹一下靜態庫的建立。linux的庫一般在 lib或 usr lib目錄下。lib是庫 library 的英文...