1、 实 习 报 告 (2009 2010 学年 第 2 学期) 课程名称: 软件设计方法 班 级: 学 号: 姓 名: 指导教师: 年 月 实实 习习 报报 告告 - 1 - 一一、目的、目的 (1)、学习并掌握 GCC 编译程序过程和方法;GDB 调试程序的方法 和 Make 工程管理器的基本使用方法以及工程中文件和路径的安排; (2)、学习安装 Eclipse 开发环境和 Eclipse 开发环境的使用;练习使用 该软件实现相关程序功能。 二二、内容和要求、内容和要求 (一)、基本要求 1、学习并掌握 GCC 编译程序过程和方法; 2、学习并掌握 GDB 调试程序的方法; 3、学习并掌握 M
2、ake 工程管理器的基本使用方法; 4、学习并掌握工程中,文件和路径的安排; 5、使用上述知识和技能,编写程序,完成实数的四则运算功能。 (二)、提高要求 1、安装 Eclipse 开发环境; 2、学习 Eclipse 开发环境的使用; 3、在 Eclipse 下,编写程序,完成实数的四则运算功能; 4、在 Eclipse 下,编写程序,完成 1024 点的 FFT 程序。 (三)、发挥部分 根据自己的程序开发水平,完成其他可展示功能程序。 实实 习习 报报 告告 - 2 - 三、过程三、过程(如实际程序开发、电子制作,详细说明有关原理、开发过程、 调试过程、结果) (一)、基本要求: 1 1
3、、Linux GCC 编译过程编译过程 (1)、使用 GCC 编译程序时,编译过程可以被细分为四个阶段: 预处理(Pre-Processing):这个过程处理宏定义和 include,并做语法检查 编译(Compiling):这个阶段,生成汇编代码 汇编(Assembling):这个阶段,生成目标代码 链接(Linking):链接过程。生成可执行代码。链接分为两种,一种是静态链接, 另外一种是动态链接。使用静态链接的好处是,依赖的动态链接库较少,对动态 链接库的版本不会很敏感,具有较好的兼容性;缺点是生成的程序比较大。使用 动态链接的好处是,生成的程序比较小,占用较少的内存。 预处理(Pre-
4、Processing) 使用-E 参数可以让 GCC 在预处理结束后停止编译过程: # gcc -E hello.c -o hello.i 编译(Compiling) #gcc S hello.c o hello.s 汇编(Assembling) 下一步是将 hello.s 编译为目标代码,这可以通过使用-c 参数来完成: # gcc -x cpp-output c hello.i -o hello.o 或者 # gcc -c hello.i -o hello.o 链接(Linking) # gcc hello.o -o hello (2)、gcc 主要参数: -o 定义输出文件 -E 完成预处理/预编译停止 -S 完成编译后停止,生成.s,不汇编 -c 只汇编生成.o,不连接 -x 指定编译步骤 -g gdb 调试用,在可执行程序中包含标准调试信息 实实 习习 报报 告告 - 3 - (3)、实例编译: # vi hello.c #includ