01.GCC简介
约 468 字大约 2 分钟
编译软件
gcc -> make -> cmake
make : MakeFile
cmake : CMakeLists.txt
GCC 安装
====== windows
下载: mingw64
下载地址: https://sourceforge.net/projects/mingw-w64/
====== linux
yum -y gcc
1.预处理
译过程的第一步预就是预处理,与处理结束后会产生一个后缀为(.i)的临时文件,这一步由预处理器完成。预处理器主要完成以下任务。
删除所有的注释
宏扩展
文件包含
g++ -E text.cpp -o text.i
2.编译
C 中的编译阶段使用内置编译器软件将 (.i)
临时文件转换为具有汇编级指令(低级代码)的汇编文件 (.s)。
汇编代码是一种简单的英文语言,用于编写低级指令(在微控制器程序中,我们使用汇编语言)。
整个程序代码由编译器软件一次性解析(语法分析),并通过终端窗口告诉我们源代码中存在的任何语法错误或警告。
g++ -S text.i -o text.s
3.汇编
使用汇编程序将程序集级代码(.s 文件)转换为机器可理解的代码(二进制/十六进制形式)。
汇编程序是一个预先编写的程序,它将汇编代码转换为机器代码。
它从汇编文件中获取基本指令,并将其转换为特定于计算机类型(称为目标代码)的二进制/十六进制代码。
g++ -c text.s -o text.o
4.连接
链接是将库文件包含在我们的程序中的过程。
库文件是一些预定义的文件,其中包含机器语言中的函数定义,这些文件的扩展名为.lib。
链接过程会生成一个可执行文件,其扩展名为 .exe 在Linux 操作系统中为 .out
g++ text.o -o mybin
ld.exe 连接器