GCC编译过程

本文详细介绍GNU编译器套件(GCC)的历史背景、功能特性及使用方法,包括如何检查GCC是否已安装、确定其安装位置,以及GCC在编译C语言程序时的四步流程。通过一个简单的示例,展示如何使用GCC编译并运行C语言程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郑同学的笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值