Makefile脚本以及简单的GDB调试

Source
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/Y_skepticism/article/details/99607049

Makefile脚本

把用于编译的命令记录到文件中。
当多个文件程序时,编译会变得异常麻烦,而Makefile文件中可以把编译指令记录下来,
当执行make命令时会自动把Makefile中的编译指令进行执行。
使用make进行编译时会根据文件的修改时间来确定,
.c文件是否需要再次编译,如果不是新修改的文件不需要重复编译。

注意:
必须使用tab键缩进,否则会产生 *** 遗漏分隔符 。

Makefile格式:

1、定义一些变量
CC=gcc
STD=-std=gnu99
BIN=a.out
OBJ=a.o main.o
FLAG=-Wall -Werror	
-Wall 尽可能多的产生警告,以更严格的标准来检查代码。
-Werror 把警告当作错误处理。

2、定义编译目标(函数)
目标名:其它目标(目标依赖,先执行其它目标,再执行此目标)
指令 // 必须使用tab键缩进,否则会产生 *** 遗漏分隔符 。
默认只执行排在第一个编译目标

3、用于清理目标文件的编译目标
clean:
rm $(OBJ)

GDB调试:

1、设置ubuntu系统,当段错误时产生core
	ulimit	-c	unlimited

2、编译时增加-g参数

3、再次执行新编译的程序,重新产生core文件

4.gdb a.out core 进行调试
	run/where