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<stdio.h>

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



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值