GCC基础知识学习-1

目录

前沿

 了解Gcc,学会使用GCC相关的知识

摘要

1. GCC(GNU Compiler Collection,GNU编译器套件)
GCC是由 GNU 开发的编程语言编译器。它是以GPL许可证所发行的自由软件,也是 GNU计划的关键部分。GCC原本作为GNU操作系统的官方编译器,现已被大多数类Unix操作系统(如Linux、BSD、Mac OS X等)采纳为标准的编译器,GCC同样适用于微软的Windows。[2] GCC是自由软件过程发展中的著名例子,由自由软件基金会以GPL协议发布。
2.Gcc与GNU之间的关系
GNU编译器套件(GNU Compiler Collection)包括C、C++、Objective-C、Fortran、Java、Ada和Go语言的前端,也包括了这些语言的库(如libstdc++、libgcj等等)。GCC的初衷是为GNU操作系统专门编写的一款编译器。GNU系统是彻底的自由软件。此处,“自由”的含义是它尊重用户的自由。
最初GCC主要针对C语言进行编译!!!现在支持的语言很多。
3.GCC主要包含哪些工具
cpp(预处理器),gcc(C编译器),g++(C++编译器)等编译器,以及binutils等二进制工具。binutils是辅助GCC的主要软件,常用的工具有as(汇编器),ld(连接器)等等。
4.gcc的一般操作过程
———————————————————————————————
一般来说面对c程序的gcc编译过程主要分成四个阶段:
1. 预处理阶段—主要完成宏定义和include文件展开等工作;
2. 根据编译参数进行不同程度的优化,编译成汇编代码;
3. 用汇编器把汇编代码进一步生成目标代码;
4. 用连接器把生成的目标代码和系统或者用户提供的库连接起来,生成可执行文件。
———————————————————————————————
总结:
—- C语言的编译过程:C(C源码程序) —(预处理)–》.i(预处理后的C程序)
—- i — (编译) ——》.s(汇编文件)
—–s(汇编文件)—-(汇编)——》.o(目标文件)
—–o(目标文件)—-(连接)——》elf(可执行文件)

猜你喜欢

转载自blog.csdn.net/lixiaoweimashixiao/article/details/78778162