linux c程式設計基礎

2021-06-20 16:16:26 字數 682 閱讀 3142

(1)gcc 編譯選項

-c 只編譯

-o 輸出檔案

-s 彙編檔案

-e 預編譯

-o3,o2,o編譯優化

-g gdb除錯選項

(2) gdb除錯

gcc使用-g生產的執行檔案或core檔案等

run:執行

list:顯示源程式

next:下一步,不進函式

step:下一步,進入函式

print:列印變數

kill:結束程式執行

break:中斷行

(3)靜態庫生成a檔案

gcc -c sum.c  ---> sum.o

ar -rv libmylib.a sum.o ----->libmylib.a

(4)動態庫so檔案生成

gcc -o libmylib.so sum.c --share ---> libmylib.so

(5)如何使用庫

靜態庫:

如果生成庫檔案在/lib,/usr/lib//usr/local/lib下面,直接加-l庫名即去頭去尾。

如果不在下面,需要-l目錄,-l庫名,否則出現找不到庫錯誤

動態庫引入dlfnc.h標頭檔案

dlopen,dlsym,dlerror,dlclose

編譯 -ldl

int main()

Linux C程式設計基礎

1.結構體定義 1 結構的宣告與使用 結構是一種結構型別它是由若干成員組成的,每個成員可以是乙個基本資料型別又是乙個構造型別。結構既然是一種構造而成的資料型別,那麼在說明和使用之前必須先定義它也就是構造他,如同在說明和呼叫函式之前要現定義函式一樣。結構體的宣告 一般形式為 struct 結構名 成員...

linux c語言高階程式設計 執行緒基礎

程式 二進位制檔案,存放在磁碟上面的檔案 程序 正在執行的程式,它處在記憶體中,乙個程序可以被載入無數次 執行緒 程序的最小活動單元,乙個程序中可以有多個執行緒,至少有乙個執行緒那就是main函式本身 就緒 執行緒即將要執行。可能是剛建立,也可能是剛從阻塞狀態喚醒。執行 執行緒正在被執行。單處理器中...

linux c 程式設計

linux下為了安全性不能雙擊執行控制台程式,只有gui程式才能雙擊執行.linux下檔案的型別是不依賴於其字尾名的,但一般來講 o,是目標檔案,相當於windows中的.obj檔案 so 為共享庫,是shared object,用於動態連線的,和dll差不多 a為靜態庫,是好多個.o合在一起,用於...