Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / GCC编译器编译链接

在GCC编译器环境下,常见的文件扩展名的含义如下:.c:C源程序,经过预编译后的源程序也为.c文件,它可以通过-E参数输出。.h:头文件.s:经过编译得到的汇编程序代码,它可以通过-S参数输出。.o:目标文件.a:函数库GCC编译器常见语法:-c:只进行编译,不进行链接,输出的是与源文件同名的.o文件。-o:指定生成的文件的名称。链接生成可执行文件,这个参数后可以带可执行文件的名字,如果没有指定可执行文件的名字,则会默认为a.out。-S:输出汇编代码文件,输出一个与源文件同名的.s文件,这个文件中的内容为汇编程序。-O:在编译链接的过程中进行优化,在编译过程中对代码进行优化,代码经过优化后再利用汇编程序翻译成目标代码。Eg.只对程序进行编译:gcc –c –O –I dirname x.c其中-c是编译x.c,-O是对代码进行优化,-I是指x.c所使用的头文件啊在目录dirname中。如果只使用了系统头文件/usr/include则不用特意指定。对编译产生的x.o文件进行链接:gcc –L dirname –lyyy x.o –o x其中-L指链接过程中要使用的函数库libyyy.a(-lyyy说明要使用函数库libyyy.a)在目录dirname中。 如果是使用系统库则不用特意指出/usr/lib和/lib。-o x指定了可执行文件的名称。Eg.编译运行hello world出现如下错误:错误原因:不能同时使用-c 和-o,那么生成hello.o和可执行文件hello要分两步进行即编译和链接要分开操作。记得要分开操作: 如果要生成hello.o,还可以使用命令gcc –c hello.c –o hello.o编译链接还可以直接使用gcc –o hello hello.c如果直接编译hello.c结果如下,生成一个名称为a.out的执行文件:可以利用-o给执行文件命名:Linux升级GCC 4.8.1清晰简明教程(Ubuntu 12.04 64位版为例)  http://www.linuxidc.com/Linux/2014-04/99583.htm Ubuntu 14.04 LST安装GCC 4.1.2  http://www.linuxidc.com/Linux/2016-06/132040.htmUbuntu下Vim+GCC+GDB安装及使用 http://www.linuxidc.com/Linux/2013-01/78159.htm Ubuntu下两个GCC版本切换 http://www.linuxidc.com/Linux/2012-10/72284.htm CentOS6.5升级手动安装GCC4.8.2  http://www.linuxidc.com/Linux/2015-01/112595.htm GCC 的详细介绍:请点这里本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-09/134892.htm