一、GCC(GUN Compiler Collection)
GCC是一个由GNU(一个自由软件基金会组织)开发的,遵循GPL许可证发行的编译器套件,是一个编译器的集合。支持 C、C++、Objective-C、Fortran、Ada 和 Go 语言等多种语言前端,已被移植到多种计算机体系架构上,如 x86、ARM、RISC-V 等。在之后的课程中使用的也是GCC作为编译工具。GCC 的初衷是为 GNU 操作系统专门编写一款编译器,现已被大多数 “Unix-like”操作系统(如 Linux、BSD、MacOS 等)采纳为标准的编译器。
1.1 GCC的命令格式
- GCC
操作选项
文件名
常用操作选项 | 含义 |
---|---|
-E | 只做预处理(将包含的宏语言头文件转化为C语言文件) |
-c | 只编译(生成机器指令)不链接(与库文件相连),生成目标文件.o |
-S | 生成汇编代码 |
-o file |
将输出的文件生成到由file 指定文件名的文件中 |
-g | 在输出的文件中加入支持调试的信息 |
-v | 显示输出详细的命令执行过程信息 |
1.2 GCC的主要执行步骤
- 编译
编译(使用cc1程序,这里针对 C 语言,不同的语言有自己的编译器):编译器完成 “预处理” 和 “编译”,“预处理” 指处理源文件中以 “#” 开头的预处理指令&#x