gdb功能:
1、启动被调试程序
2、让被调试的程序在指定的位置停住
3、当程序被停住时,可以检查程序状态-变量名
步骤:
①gcc -g test.c -o test
②gdb test
③run……run…… 运行
④list 查看代码 list 10
使用set listsize 行数 可以更改想要显示的代码行数 将其改变为源代码总行数即可显示所有代码
⑤quit 退出
还可:(命令均可只写首字母)
break 行号 打断点
next 一步一步执行 不进入子函数 step 单步执行 进入子函数
print 变量名 可以看变量的值
continue 继续吧程序执行完 finish 只结束当前函数
info break 查看断点信息
delete 断点编号 删除断点
break 21 if i = 15 i=15时停住
break funcl 在调用funcl时停住
段错误:内存错误
Makefile:
工程:将许多文件放在一个文件下
tree(以树状形式显示)
make 工程管理器 make作用:批处理,能实现自动编译源码 脚本文件作用:实现批处理
makefile中放的是使make能编译项目的代码
三元素:①目标②依赖③命令(Tab)
目标体:依赖
hello:hello.o 真目标
gcc hello.o -o hello
hello.o:hello.c
gcc -c hello.c
.PHONY:clean 伪目标
clean:
rm -f hello.o hello
真目标伪目标区别:真目标生成文件 伪目标只执行命令
最终目标放在第一行
时间戳(时间值) ls -l可以查看 对文件:wq后时间戳会改变
make hello.o 将hello.o目标作为第一行
makefile (m也可大写)
make -f Makefile1 可以指定用哪个makefile来编写
文件分目录:提高代码的维护性,间接地提高了代码的可续性
最顶层 总控Makefile
功能目录 功能目录Makefile
scripts中 头文件Makefile