gcc以及gdb的基本使用

gcc语法:gcc [options] [filenames]
1、基本选项
1)-c:只是编译不链接,生成目标文件”.o”
2)-S:只是编译不汇编,生成汇编代码
3)-E:只进行预编译,不做其它处理
4)-g:在可执行程序中包含标准调试信息
5)-o file:指定输出文件
6)-v :打印出编译器内部编译各过程的命令行信息和编译器的版本
7)-std=name:指定C语言的标准(如:c99等)
8)-I dir :在头文件的搜索路径列表中添加dir目录
2、警告和出错选项
1)-ansi:支持符合ANSI标准的C程序
2)-pedantic:允许发出ANSI C标准所列的全部警告信息
3)-pedantic-error:允许发出ANSI C标准所列的全部错误信息
4)-w:关闭所有警告
5)-Wall:允许发出gcc所提供的所有有用的报警信息
3、优化
-O:减小代码的长度和执行时间,效果等价于O1,其中包括线程跳转和延迟退栈
-O2:除完成所有O1级别的优化之外,同时进行一些额外的调整工作,如处理器指令调度
-O3:除完成所有O2级别优化之外,还包括循环展开和其他一些与处理器特性相关的优化工作
数字越大优化的等级越高,也就意味着程序的运行越快,一般采用O2选项,他在优化长度,编译时间和代码大小之间取得了一个比较理想的平衡点
4、制作库文件
-L dir 在库文件搜索列表中添加dir目录
-static 链接静态库
-lname 链接名为name的库文件
-shared 表明是用共享库

一、gdb简介
1、GDB是GNU开源组织发布的一个强大的Unix/Linux下的程序调试工具
二、gdb作用
1、启动用户程序后,可以按照用户的要求随意运行程序。
2、可让被调试的程序在用户所设定的断点处停住
3、当程序被停住时,可以检查此时用户程序中所发生的事。
4、可动态改变用户程序的执行环境
三、gdb语法
1、gcc -g [其它选项] [文件名]
2、gdb 可执行文件‘
3、gdb进行调试的是可执行文件而不是源代码
4、对.c源文件进行编译一定要加上选项”-g”,这样编译出的可执行文件才包含调试信息。
四、gdb调试命令
1、l(list):查看所载入的文件
2、b(break):设置断点,程序运行到断点即可停止。
3、nfo b:查看设置的断点情况
4、r(run):从第一行开始运行代码,或者指定行开始,可在r后面加上行号。
5、p n:查看变量n的值
6、n(next):单步运行下一行代码(遇到函数不会进入函数)
7、s(step):单步运行下一行代码(遇到函数会进入函数)
8、c(continue):恢复程序的运行,执行剩余的程序。

标签: linux, c, gdb

添加新评论