下载此文档

Linux系统编程实验二:gcc、gdb的使用以及Makefile文件的编写.doc


文档分类:IT计算机 | 页数:约18页 举报非法文档有奖
1/18
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/18 下载此文档
文档列表 文档介绍
Linux系统编程实验二:gcc、gdb的使用以及Makefile文件的编写
实验二:gcc、gdb、Makefile的使用
实验目的:
(一)学会使用gcc编译器
(二)学会gdb调试器的使用
(三)学会编写Makefi使用s命令后则会进入到sum函数之中单步运行
11、finish命令
finish命令用于运行程序,直到当前函数结束。例如我们进入了sum函数,使用finish命令的情况
当我们调试的时候如果觉得某个函数存在问题,进入函数调试之后发现问题不在这个函数,那么我们就可以使用finish命令运行程序,知道当前函数结束。
12、c命令用于恢复程序的运行,例如我们再一个程序中设置了两个断点,而觉得问题不会再这两个断点之间的代码上,那么我们局可以在查看完第一个断点的变量及堆栈情况后,使用c命令恢复程序的正常运行,代码就会停在dier个断点处
13、q(quit)命令
q命令用于退出gdb调试器
(三)Makefile文件的编写
1、先用vi编辑一个简单的c程序,由两个文件组成

#include ""
int max_fun(int x,int y)
{
if(x>=y)
return x;
else
return y;
}

#include ""
int main(void)
{
int a,b;
printf("Please enter the number a and b\n");
scanf("%d%d",&a,&b);
int max=0;
max=max_fun(a,b);
printf("The max number is %d\n",max);
return 0;
}

#include <>
extern int max_fun(int x,int y);
2、使用gcc编译命令直接编译出可执行文件main,并运行查看结果
.
3、用vi编辑makefile,内容如下所示
main:
gcc -o main
:
gcc -c -o
:
gcc -c -o
clean:
rm -f main *.o
4、退出并保存,在shell中键入make,查看并运行产生的可执行文件main
5、用vi打开makefile进行改写,用变量进行替换,经变量替换后的makefile如下
OBJS=
CC=gcc
CFLAGS=-c
main:$(OBJS)
$(CC) $(OBJS) -o main
:
$(CC) $(CFLAGS) -o
:
$(CC) $(CFLAGS) -o
clean:
rm -f main *.o
退出保存后,在shell中执行make和make clean命令的效果和前面第4步是一样的
6、改写makefile,使用自动变量,改写后的情况如下
OBJS=
CC=gcc
CFLAGS=-c
main:$(OBJS)
$(CC) $(OBJS) -o $@
:
$(CC) $(CFLAGS) $< -o $@
:
$(CC) $(CFLAGS) $< -o $@
clean:
rm -f main *.o
退出保存后,在shell中执行make和make clean命令的效果和前面一样
上机报告要求:
总结选项-o,-E,-S,-c,-static,-g的功能作用。
-o指定目标文件名称
-E选项的作用:只进行预处理,不做其他处理。
-S选项的作用:只是编译不汇编,生成汇编代码
-c选项的作用:只是编译不连接,
-static选项的作用:链接静态库
-g选项的作用:在可执行程序中包含标准调试信息
启动gdb的方式有几种?分别如何启动?
gdb +调试程序名
gdb
file 调试程序名
3、总结gdb中step命令与next命令的区别?finish命令与quit命令的区别?
s命令用于单步运行,

Linux系统编程实验二:gcc、gdb的使用以及Makefile文件的编写 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数18
  • 收藏数0 收藏
  • 顶次数0
  • 上传人幸福人生
  • 文件大小2.53 MB
  • 时间2022-04-20
最近更新