实验十六 gcc的使用与开发.ppt
文本预览下载声明
* * 实验十六Linux编译器gcc * gcc简介 名称: GNU Compiler Collection 能够编译c、c++、Object C 编译过程: 用gcc编译程序时,分为四个阶段: 预处理(Preprocessing) 编译(Compilation) 汇编(Assembly) 链接(Linking ) 程序员可以根据需要在任何一阶段停止 * gcc的使用 基本使用格式 $ gcc [ 选项 ] 文件名 常用选项及含义 gcc常用选项 选项 含义 -o file 将经过gcc处理过的结果存为文件file。 这个结果文件可能是预处理文件、汇编文件、目标文件或者最终的可执行文件。 如果这个选项被省略了,那么生成的可执行文件默认名称为a.out。 * gcc的常用选项 gcc常用选项 选项 含义 -c 仅对源文件进行编译,不链接生成可执行文件。在对源文件进行查错时,或只需产生目标文件时可以使用该选项。 -g 在可执行文件中加入调试信息,方便进行程序的调试。如果使用中括号中的选项。 -O[0、1、2、3] 对生成的代码使用优化,中括号中的部分为优化级别,缺省的情况为2级优化,0为不进行优化。注意,采用更高级的优化并不一定得到效率更高的代码。 -w 禁止所有警告 -Wall 生成所有警告信息 * gcc文件扩展名规范 gcc可以根据文件扩展名执行操作 gcc文件扩展名规范 扩展名 类型 可进行的操作方式 .c c语言源程序 预处理、编译、汇编、链接 .C,.cc,.cp,.cpp,.c++,.cxx c++语言源程序 预处理、编译、汇编、链接 .i 预处理后的c语言源程序 编译、汇编、链接 .ii 预处理后的c++语言源程序 编译、汇编、链接 .s 预处理后的汇编程序 汇编、链接 .S 未预处理的汇编程序 预处理、汇编、链接 .h 头文件 不进行任何操作 .o 目标文件 链接 * 使用gcc编译代码 源代码 示例源程序——hello.c #include stdio.h int main() { printf(hello gcc!\n); return 0; } * 生成二进制文件 分步编译源程序: $gcc –E hello.c –o hello.i $gcc –S hello.c –o hello.s 生成目标文件 命令: $gcc –c hello.c –o hello.o 生成可执行文件 命令: $gcc hello.c –o hello 运行程序 $./hellohello gcc! * 课后习题 用vi编写一个简单的c程序,利用gcc控制程序生成的四个步骤。 *
显示全部