Makefile脚本以及简单的GDB调试

本文介绍如何使用Makefile简化多个文件的编译流程,并利用GDB进行有效的程序调试。通过定义变量、编译目标及依赖,Makefile能智能判断文件是否需要重新编译,提高开发效率。同时,文章详细讲解了GDB调试步骤,包括设置Ubuntu系统以生成core文件、编译时添加-g参数等,帮助开发者快速定位并解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值