GCC(GNU Compiler Collection,GNU编译器套件)是由GNU开发的编程语言编译器。GNU编译器套件包括C、C++、 Objective-C、 Fortran、Java、Ada和Go语言前端,也包括了这些语言的库(如libstdc++,libgcj等。)
安装GCC:
yum install gcc //centos
sudo apt install gcc g++ //ubuntu
在了解GCC是如何编译程序之前,我们首先得知道我们写的程序语言是怎么一步步转换成电脑看得懂的语言:
高级语言:int a;
汇编语言: a DB 7h
机器语言:100010101010100001
以下面的代码为例子:
在源代码阶段
#include<stdio.h> #define PI 10 int main() { //这是测试代码 int sum = PI +10; printf("hello world\n"); return 0; }
使用 gcc test.c -E -o test.i 命令
预处理后代码:可以看到 注释已经被处理掉了;宏定义也展开了;同时头文件进行了相应的扩展
进入汇编阶段输入: gcc test.i -S -o test.s
打开VScode 查看生成的test.s ,生成了汇编代码
最后将生成的汇编代码通过汇编器生成二进制代码,也就是计算机能够看得懂的语言:
输入 gcc test.s -s -o test.o
打开VScode 查看:生成了二进制代码
最后GCC通过链接,将最后的二进制文件生成了可执行程序