紧急提醒!Linux是如何编译C语言程序文件的?CentOS 8的gcc使用方法介绍
一句话告诉你gcc怎么编译C文件
执行命令
gcc Tristone.c -o Tristone
解释:“Tristone。C”Tristone可执行文件编译,编译完成后”。可以执行/ Tristone”。
GCC的全称是GNU C编译器,本来是专门为C语言编译器,后来扩展也兼容c++, Java成为扩展版本的GCC。
下面的一个实际例子。
安装GCC
Linux CentOS 8最小化安装,默认不安装GCC,我们可以手动安装它。
根执行命令:
DNF - y install GCC
的默认安装8.2.1版本的GCC。
编写一个C语言程序代码
运行以下命令:
The sixth Tristone. C
粘贴在以下内容
#include<stdio.h>
int main ()
{
printf (“Hello, world !\ n”);
Return 0;
}
分步编译测试
我们运行GCC Tristone命令”。事实上,C - o Tristone“编译器通过以下四个阶段,我们可以看
(1)预处理阶段(加入相应库,宏替换等)
一个非常简单的C文件预处理阶段也会增加800多行的代码,我们可以重定向到一个文件里面查看。
gcc -E Tristone.c > Tri.e
(2)编译阶段(生成汇编程序)
gcc -S Tristone.c -o Tri.s
(3)汇编阶段(把汇编语言程序汇编成机器语言指令,并使用可重定位目标程序的格式来打包指令)
gcc -c Tristone.c -o Tri.o
这一步生成的内容已经不是我们能读懂的了。
(4)链接阶段(合并各个打包好的机器语言指令,生成可执行二进制文件)
gcc Tri.o -o Tri
这个“Tri”已经是一个可执行的文件,运行一个后,将输出一个“Hello,world!”
一步编译
以上4步可以统一以下一个命令来实现:
gcc Tristone.c -o Tristone
格式:gcc 文件名.c -o 你需要执行文件名称
从结果上看“Tri”和“Tristone”的文件大小是一样的,也就是分步骤编译和一步编译,结果是一样的。
自己写一段C语言/C++的代码或者从网上找一段代码,使用Linux编译一下试试吧。