1. GCC(GNU Compiler Collection):GNU编译器套件
是由 GNU 开发的编程语言编译器。它是以GPL许可证所发行的自由软件,也是 GNU计划的关键部分。GCC原本作为GNU操作系统的官方编译器,现已被大多数类Unix操作系统(如Linux、BSD、Mac OS X等)采纳为标准的编译器,GCC同样适用于微软的Windows。GCC是自由软件过程发展中的著名例子,由自由软件基金会以GPL协议发布。
GCC 原名为 GNU C 语言编译器(GNU C Compiler),因为它原本只能处理 C语言。GCC 很快地扩展,变得可处理 C++。后来又扩展能够支持更多编程语言,如Fortran、Pascal、Objective-C、Java、Ada、Go以及各类处理器架构上的汇编语言等,所以改名GNU编译器套件(GNU Compiler Collection)
2. 检测是否已经安装GCC编译器
$ cc –version
检测GCC安装位置
$ which cc
3. GCC 编译器在编译一个C语言程序时需要经过以下 4 步:
(1).将C语言源程序预处理,生成.i文件。
(2).预处理后的.i文件编译成为汇编语言,生成.s文件。
(3).将汇编语言文件经过汇编,生成目标文件.o文件。
(4).将各个模块的.o文件链接起来生成一个可执行程序文件。
4. GCC 编译器在编译一个C语言程序简单例子
#include <stdio.h>
int main()
{
puts("Hello world");
return 0;
}
4.1行程序
最简单的生成可执行文件的写法为:
$ cd demo #进入源文件所在的目录
$ gcc main.c #在 gcc 命令后面紧跟源文件名
#表示注释,读者可以不写,我写上是为了让读者明白每个命令的含义。#是 Shell 中的注释格式。
打开 demo 目录,会看到多了一个名为 a.out 的文件,这就是最终生成的可执行文件
4.2运行可执行程序
上面我们生成了可执行程序,那么该如何运行它呢?很简单,在控制台中输入程序的名字就可以,如下所示:
$ ./a.out
./表示当前目录,整条命令的意思是运行当前目录下的 a.out 程序。如果不写./,Linux 会到系统路径下查找 a.out,而系统路径下显然不存在这个程序,所以会运行失败。
输入完上面的命令,按下回车键,程序就开始执行了,它会将输出结果直接显示在控制台上,如下所示:
$ cd demo
$ gcc main.c
$ ./a.out
Hello world
$
参考
1、GCC编译器(Linux gcc命令)30分钟入门教程http://c.biancheng.net/view/660.html
2、gcc 编译过程https://www.cnblogs.com/wjchao/p/7460375.html
3、gcc和g++的区别:安装、版本、编译(转)https://www.cnblogs.com/rswss/p/9764543.html
4、linux上安装GCC, G++编译器https://www.iteye.com/blog/201307121509-1998294