(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合在一起,用於...