linux4
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验(实习)名称常用命令使用实验(实习)日期指导教师
专业年级班次姓名学号得分
一、实验目的
1.掌握C语言编译的基本用法。
2.掌握gdb调试工具的基本用法。
3.理解make工具的功能,学会编制makefile的方法。
二、实验内容
1.利用gcc编译C语言程序,使用不同选项,观察并分析显示结果。
2.用gdb调试一个编译后的C语言程序。
3.编写一个有多文件构成的C语言程序,编写makefile,运行make工具进行维护。
三、主要实验步骤
1.改写例6.1,使用下列选项对它进行编译:-I,-D,-E,-c,-o,-l。
2.完成对思考题6.5的调试。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(int argc,char **argv)
{
char *p;
int i;
p=malloc(60);
strcpy(p,"not 30 bytes");
printf("p=<%s>\n",p);
if(argc==2){
if(strcmp(argv[1],"-b")==0)
p[0]='a';
else if(strcmp(argv[1],"-f")==0){
p[0]='b';
}
}
printf("p=<%s>\n",p);
free(p);
return 0;
}
运行结果如下:
[LinyunGu@localhost subdir]$ ./badprog -b
p=<not 30 bytes>
p=<aot 30 bytes>
[LinyunGu@localhost subdir]$ ./badprog -f
p=<not 30 bytes>
p=<bot 30 bytes>
3.完成对思考题6.6的调试。
[LinyunGu@localhost subdir]$ gcc callstk.c -o callstk
[LinyunGu@localhost subdir]$ ./callstk
make_key returns 10
四、实验总结。