实验五常用软件开发工具.pdf
《实验五常用软件开发工具.pdf》由会员分享,可在线阅读,更多相关《实验五常用软件开发工具.pdf(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验五、常用软件开发工具一、实验目的1、熟悉字符模式下的 C 程序编译和调试环境,基本掌握Linux 字符模式下的编译工具和调试工具的使用;2、本实验需要综合使用Linux 基本文件命令、编辑器的使用,练习在Linux 的字符模式下,编辑、编译及调试一个C 程序的基本方法。二、实验内容和步骤1 gcc1 gcc 和和 g+g+语言编译器语言编译器GCC 是 GNU Compiler Collection的缩写,它是世界上最为重要的开放源代码软件18。因为所有其他的开放源代码项目都依赖于GCC 进行编译。比如,没有 GCC,Linux 的产生就不会成为可能。GCC 能工作在很多平台上,这里所说的
2、平台是指计算机硬件芯片和运行在其上的操作系统的组合。下表是 GCC 运行的平台。表 GCC 运行的平台硬件AlphaHPPAIntel x86MIPSPowerPCSparc操作系统Red Hat LinuxHPUXDebian Linux,Red Hat Linux,FreeBSDIRIXAIX4.3.3SolarisGCC 可以编译多种语言:C,C+,对象C(标准 C 的派生),Fortran,Java,Ada。正如GCC缩写所代表的对象一样,GCC 实际上是多种编译器的统称,gcc 是所有编译器的统一的程序接口,在本书中,并没有区分GCC 和 gcc。同时,GCC 也能够进行代码优化,提
3、高执行程序的运行速度。g+是构建于 gcc 基础上的 C+语言编译器。gcc 编译过程分为 4 个阶段:l预处理l编译l汇编l连接最简单的 C 语言编译的例子:用 vi 建立一个 文件$vi输入字符 i,插入文本以下文本/*/#include int main(void)printf(Hello World!n);return 0;最后输入字符:wq,返回命令行,键入以下编译命令:$gcc (-lstdc+)如果没有错误 gcc 将生成默认的可执行文件,执行:$./Hello World!$gcc 带有多达数页的编译选项,我们仅列出最常用的几项:-o可执行文件名指定输出的可执行文件名,而不是默
4、认的-c只编译生成.o 的目标文件,不连接生成可执行文件-s只编译生成.s 的汇编文件,不连接生成可执行文件-g在可执行文件中加入标准调试信息-Wall允许 GCC 发出警告型错误信息选项使用的例子:对以上 使用-o,-g 常用选项重新编译、执行:$gcc-g -o hello$./helloHello World!$GCC 默认的扩展文件名:.c C 语言源代码.C .cc C+语言源代码.i预处理后的 C 语言源代码.ii预处理后的 C+语言源代码.S.s汇编语言源代码.o编译后的目标代码.a .so编译后的库代码下面的例子由两个文件组成:,,其中,文件内容为:#include int c
5、alc(int);int main(int argc,char*argv)int iInput=0,iOutput=0;int i=0;scanf(%i,&iInput);while(iInput 0)printf(Please input a positive integer!n);scanf(%i,&iInput);iOutput=calc(iInput);printf(Result is:%in,iOutput);return 0;的文件内容为:#include int calc(int iIn)int i=0,iOut=0;iOut=iIn;for(i=0;i iIn;i+)retur
6、n iOut;1、编译过程有三种方式编译这两个源程序,一是直接使用如下命令行完成编译、链接过程:$gcc -o main命令行中,的后缀名指明了调用c 编译器,前面讲到了 gcc 是 GCC 的众多编译器的统一入口,gcc 靠后缀名决定调用什么编译器,-o 参数指定了可执行文件的文件名为main。第二种方法是编译为静态库,编译时指定静态库的位置。需要将编译成中间文件,使用如下命令行:iOut+=iOut*iIn;$gcc-c生成静态库文件,添加到静态库中,使用如下命令行:$ar-r命令行中,-r 参数表示建立静态库,名字为。接下来,使用如下命令行:$gcc -o main上面这条命令也可以用下
7、面的命令完成:$gcc -lcalc o main-l 参数可以指定库名称,这里 calc 表示使用库,库名字前面的 lib 和后面的.a 被省略掉了,遵从了命名法。第三种方法是建立共享库,编译时指定共享库。首先,编译为,使用命令行:$gcc-c-fpic命令行中,-fpic 指定为可重分配地址属性,pic 是 position independence code 的缩写。接下来使用生成共享库:$gcc-sharedo这两条命令也可以缩减为一行:$gcc-shared-fpic -o最后编译,链接生成的共享库:$gcc -o main2 make2 make 项目管理器项目管理器make 项目
8、管理器(GNU 中的名称为 gmake)可以根据项目开发者说明的项目开发文件 Makefile 自动的进行编译配置和重复编译,能实现复杂项目的编译自动化。项目开发文件 Makefile 的编写使用以下规则:目标体 1:依赖体 1 依赖体 2.命令行 1命令行 2 .目标体 2:依赖体 1 依赖体 2.命令行 1命令行 2 .其中目标体是命令行要生成的输出文件,依赖体是命令行要输入的文件或选项,命令行序列是要创建目标体文件所需要的步骤,例如编译命令。无特别指定,make总是使用当前目录中的 Makefile 进行自动编译。例如我们在当前目录中有两个项目开发文件和,则Makefile 文件可以编写
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 常用软件 开发 工具
限制150内