20113430110_陈南博__09计科A2_实验报告一(2)
- 格式:doc
- 大小:86.00 KB
- 文档页数:3
上海第二工业大学计算机科学与技术系
学生实验报告
一、实验目的和要求
1、熟悉并掌握gcc命令、gdb命令。
2、掌握利用vi新建和保存源程序,利用gcc编译、利用gdb调试。
3、掌握利用gdb调试源程序的方法。
4、了解编写C语言源程序的方法、gcc编译、gdb调试过程。
二、实验内容和原理
1.编译源程序
在Linux中,gcc(GNU C Compiler)是C、C++、Objective-C源程序的编译器,gcc编译C 源程序并生成可执行文件要经过以下四步:
(1)预处理
gcc编译器调用cpp程序,对各种命令如#define、#include进行分析。
(2)编译
gcc编译器调用ccl 程序,根据输入文件产生中间文件。
(3)汇编
gcc编译器调用as程序,用中间文件作为输入产生以.o作为类型名的目标文件。
(4)连接
gcc编译器调用ld程序,将各目标程序组合于可执行文件中的适当位置,这一程序引用的函数也放在可执行文件中。
格式:gcc [options] [filename]…
常用选项的说明:
-ansi 只支持ANSI 标准的C 语法。
这一选项将禁止GNU C 的某些特色,例如asm 或
typeof 关键词。
-c 对源程序进行预处理、编译,产生目标文件,但不进行连接成为可执行文件。
-E 在预处理后停止,输出预处理后的源代码至标准输出,不进行编译。
-g 产生一张用于调试和排错的扩展符号表,此选项使程序可用gdb进行调试。
-o <文件名> 定义输出的执行文件名为<文件名>
-S 在编译后停止,产生类型名为s的汇编代码文件,不生成中间文件。
2.调试源程序(利用gdb进行本地调试)
当编译后得到的目标程序在运行时出现故障时,需要对你的源程序进行调试以找出错误,排除故障。
Linux提供了调试源程序的工具gdb(GNU debugger),该程序是一个交互式工具,工作在字符模式。
gdb 是功能强大的调试程序,可完成如下的调试任务:
(1)设置断点;
(2)监视程序变量的值;
(3)程序的单步执行;
(4)修改变量的值。
gdb不仅允许用户在运行程序时显示源代码,而且在调试过程中允许在预设的断点处暂停程序的运行,显示变量的内容。
在使用gdb 调试程序之前,必须使用-g 选项编译源文件。
运行gdb 调试程序时通常使用如下的命令:
#gdb progname
三、主要仪器设备
安装有Linux操作系统的微型电子计算机1台
四、操作方法与实验步骤
建立C源程序prog.c,程序内容如下:
用gcc编译器调试该程序直至产生右图所示的执行结果,将调试过程记录下来。
五、实验数据记录和处理(选填)
六、实验结果与分析
左边是修改后的程序,右边是运行结果。
实验指导书所给的程序有些小错误。
先touch一个”.c”文件后vi 编写程序然后gcc –o定义输出执行文件用gdb调用调试程序。
“#include”stdio.h”这个程序可以不需要这行。
七、实验心得与体会
学会了一些gcc的基础命令,以及gdb运行调试程序的基础方法,学习C语言的知识。