GCC
-o | 生成指定名字可执行文件 gcc hello.c -o hello | ||
-c | 只编译,生成.o目标文件 gcc -c hello.c | ||
-g | 产生调试工具gdb所必要的符号信息 gcc -g hello.c -o hello | ||
-O | 对程序进行优化编译、链接,可提高编译、链接速度 | ||
-O2 | 优化更加彻底,不过编译时间更长 | ||
-I | -I dirname 引入编译需要的头文件目录 | ||
-L | -L dirname 引入编译需要的库文件目录 | ||
-l | -lname 引入库函数 eg.数学库 libm.a 用 -lm | ||
-static | 静态链接,编译后文件变大 静态链接.a后缀 动态链接.so后缀 gcc -static mathTest.c -o mathTest -lm | ||
-Wall | 生成所有警告信息 | ||
-w | 不生成任何警告 | ||
-DMACRO | 定义MACRO宏
|
GDB
list(l) | 显示程序 |
break(b) 函数名 | 在函数入口处打断点 b main |
break(b) 行号 | 指定行打断点 b 6 |
break(b) 文件名:行号 | 在指定文件的指定行加断点 |
break(b) 行号 if 条件 | 当条件为真,指定行号断点生效 |
info break | 查看所有断点 |
delete 断点编号 | 删除断点 |
run(r) | 开始运行程序 |
next(n) | 单步运行程序,不进入子函数 |
step(s) | 但不运行程序,进入子函数 |
continue(e) | 继续运行程序 |
print(p) 变量名 | 显示变量的值 |
finish | 运行程序,直到函数结束 |
watch 变量名 | 对指定变量进行监控 |
quit(q) | 退出gdb |