GCC/Makefile/GDB

来源:互联网 发布:威宁农村淘宝网点查询 编辑:程序博客网 时间:2024/05/24 05:32

gcc流程

预处理生成.i文件 ,编译生成.s汇编文件 ,汇编生成.o目标,链接生成可执行文件


1)     Gcc的使用选项

-c 只进行预处理、编译、和汇编,不做链接,生成.o文件

-S只进行预处理和编译,生成.s文件,汇编文件

-E只进程预处理,生成.i文件

-o file 指定输出目标文件名

-Wall所有的警告信息打印出来

-O 编译,连续并优化

-I指定头文件的路径

-L指定库文件的路径

-static表名静态链接,系统中默认是动态链接

2.Make命令和makefile文件

1)    Makefile文件规则

一个目标和依赖关系

每一个目标后面跟一个冒号:紧接着是依赖文件,然后换行,table键,接着是gcc命令

建立好Makefile文件后,利用make命令,直接是make file就可以了

2)    Makefile变量

l  在Makefile文件中可以定义变量

变量名=???

取值$变量名

l  自动变量

$<第一个依赖文件的名称

$@目标文件完整名称

$^所有不重复的依赖文件,以空格分开


3.调试工具GDB

1)    命令

File命令:装入想要调试的可执行文件

Cd命令:改变工作目录

Pwd命令:返回当前工作目录

Run命令:执行当前被调试的程序

Kill命令:停止正在调试的应用程序

List命令:列出正在调试的应用程序源代码

Break命令:设置断点

Tbreak命令:设置临时断点

Watch命令:设置监视点,监视表达式的变化

Awatch命令:设置读写监测点

Rwatch命令:设置读监视点

Next命令,执行下一条代码,但不进入函数的内部

Step命令:执行下一条源代码,进入函数内部

Display命令:在应用程序每次停止运行时显示表达式的值

Info break命令:显示当前断点列表,包含每个断点的到达的次数

Info files命令:显示调试文件的信息

Info func命令:显示所有的函数名

Info local命令:显示当前函数所有局部变量的信息

Info prog命令:显示调试程序的执行状态

Print命令:显示表达式的值

Delete命令:删除断点

Shell命令:执行Linux shell命令

Make命令:不退出gdb而重新编译生成可执行文件

Exit命令:退出gdb



0 0
原创粉丝点击