yum、vim、gcc/g++、gdb、make/makefile Linux开发工具( 三 )


文章插图
 
7.取消查看undisplay

yum、vim、gcc/g++、gdb、make/makefile Linux开发工具

文章插图
 
8.跳转until
yum、vim、gcc/g++、gdb、make/makefile Linux开发工具

文章插图
 
9.结束函数finish
yum、vim、gcc/g++、gdb、make/makefile Linux开发工具

文章插图
 
10.跳转到下一断点c
yum、vim、gcc/g++、gdb、make/makefile Linux开发工具

文章插图
 
11.退出调试quit五、自动化构建:make+makefile1.背景一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作 。makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率 。 make是一条命令,makefile是一个文件,两个搭配使用,完成项目自动化构建
2.依赖关系、依赖方法举例如下:
yum、vim、gcc/g++、gdb、make/makefile Linux开发工具

文章插图
 
makefile中一行是依赖关系,紧跟的一行是依赖方法 。上面从一个.c文件到一个.exe文件经历的依赖关系和依赖方法写全后如下 。
yum、vim、gcc/g++、gdb、make/makefile Linux开发工具

文章插图
 
mytest依赖test.o经过gcc链接得到,test.o依赖test.s经过gcc -c汇编得到,test.s依赖test.i经过gcc -S编译得到,test.i依赖test.c经过gcc -E预处理得到 。(冒号左边是得到的文件,冒号右边是被依赖的文件)
make后就可以得到所有需要的文件 。
yum、vim、gcc/g++、gdb、make/makefile Linux开发工具

文章插图
 
虽然这些过程在这个场景下可以gcc一步搞定,但是如果有其它多个文件需要处理,这么多行的指令写进makefile后只需一个make即可全部执行,效率有很大的提高 。
3.项目清理可以看到上面产生了许多文件,如果一个个清理又会很麻烦,在makefile中 加入clean选项便可像make那样直接清除某些文件 。
yum、vim、gcc/g++、gdb、make/makefile Linux开发工具

文章插图
 

yum、vim、gcc/g++、gdb、make/makefile Linux开发工具

文章插图
 
上面的.PHONY是伪目标,这样写表示clean总是被执行 。
4.宏替换$@:依赖关系中的目标文件(冒号左边的文件)
$^:依赖关系中的依赖文件列表(冒号右边的所有文件)
$<:依赖关系中的一个依赖文件
将makefile修改为如下宏替换后的结果,这样当依赖文件或目标文件改变时,依赖方法不需要改变 。
yum、vim、gcc/g++、gdb、make/makefile Linux开发工具

文章插图
 
仍能正常运行 。
yum、vim、gcc/g++、gdb、make/makefile Linux开发工具

文章插图
 
感谢阅读,如有错误请批评指正
作者:山舟
链接:
https://juejin.cn/post/7083141631775342606




推荐阅读