Linux下程式設計命令的使用
阿新 • • 發佈:2018-11-16
gcc
語法 : gcc [命令] 原始檔
常用命令如下:
1.-c
對檔案進行編譯和彙編,但不進行連線。即做成了obj檔案
2.-o
指定目標名稱
gcc -o hello hello.c
3.gcc -I 目錄
編譯時,優先在指定目錄下查詢標頭檔案
4.gcc -l 庫
此處庫為二進位制函式的集合體
5.gcc -L 目錄
優先訪問該目錄,未找到目標則前往標準目錄,仍未找到則報錯
6.-g
編譯器在編譯時產生除錯資訊
7.-O(O0/O1/O2/O3)
優化程度不斷提高的編譯選擇
make工具及Makefile
makefile是一系列規則檔案,內容格式為:
目標檔案:依賴檔案
[TAB] 命令
如果gcc命令為:gcc -o hello.c
則對應makefile為:
hello:hello.c
gcc -o hello hello.c
make hello
如果有100個.c檔案,則為:
main.o:main.c gcc -c -o main.o main.c f1.o:f1.c gcc -c -o f1.o f1.c f2.o:f2.c gcc -c -o f2.o f2.c ... ... hello:main.o f1.o f2.o ... f100.o gcc -o hello main.o f1.o ... f100.o make hello
這樣下來,未免有點繁瑣,可以使用巨集替換、隱式規則推導。
系統定義變數:
[email protected]一個規則中目標名稱
$<第一個依賴檔名
$+所有依賴檔案
SRCS=main.c f1.c ...
OBJS=main.o f1.o...
hello:$(OBJS)
gcc -o hello $(OBJS)
make hello
gdb
gdb |
vc |
指令功能 |
run | ! | 執行 |
break+行號 | F9 | 設定斷點 |
continue | F5 | |
next | F10 | 執行一行原始碼但不進入函式內部 |
step | F11 | 執行一行原始碼並進入函式內部 |
display/print+變數/表示式 | 視窗 | |
quit | 退出 | |
list | 展示10行程式碼,可重複指令 |