gcc基本指令+gdb调试


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宏
#include

void main()
{
    #ifdef YES
        printf("hello\n");
    #endif
}
gcc hello.c -o hello -DYES  ===>>>  #define YES




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



你可能感兴趣的:(Linux)