问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

gcc是什么意思?

发布网友 发布时间:2022-04-24 04:39

我来回答

1个回答

热心网友 时间:2022-05-13 05:53

GCC(GNU Compiler Collection,GNU编译器套件),是由 GNU 开发的编程语言编译器。它是以GPL许可证所发行的自由软件,也是 GNU计划的关键部分。

GCC原本作为GNU操作系统的官方编译器,现已被大多数类Unix操作系统(如Linux、BSD、Mac OS X等)采纳为标准的编译器,GCC同样适用于微软的Windows。GCC是自由软件过程发展中的著名例子,由自由软件基金会以GPL协议发布。

GCC功能与作用:

1、预处理

命令gcc首先调用cpp进行预处理,在预处理过程中,对源代码文件中的文件包含(include)、预编译语句(如宏定义define等)进行分析。

2、编译

用GCC编译C/C++代码时,它会试着用最少的时间完成编译并且编译后的代码易于调试。易于调试意味着编译后的代码与源代码有同样的执行顺序,编译后的代码没有经过优化。

3、连接

当所有的目标文件都生成之后,gcc就调用ld来完成最后的关键性工作,这个阶段就是连接。在连接阶段,所有的目标文件被安排在可执行程序中的恰当的位置,同时,该程序所调用到的库函数也从各自所在的档案库中连到合适的地方。

4、汇编

汇编过程是针对汇编语言的步骤,调用as进行工作,一般来讲,.S为后缀的汇编语言源代码文件和汇编、.s为后缀的汇编语言文件经过预编译和汇编之后都生成以.o为后缀的目标文件。

 GCC在执行编译工作的时候,总共需要4步:

1、预处理,生成 .i 的文件[预处理器cpp]

2、将预处理后的文件转换成汇编语言, 生成文件 .s [编译器egcs]

3、有汇编变为目标代码(机器代码)生成 .o 的文件[汇编器as]

4、连接目标代码, 生成可执行程序 [链接器ld]

常用选项

-ansi    只支持 ANSI 标准的 C 语法。这一选项将禁止 GNU C 的某些特色, 例如 asm 或 typeof 关键词。    

1、-c:只编译并生成目标文件。    

2、-DMACRO:以字符串"1"定义 MACRO 宏。    

3、-DMACRO=DEFN:以字符串"DEFN"定义 MACRO 宏。    

4、-E:只运行 C 预编译器。    

5、-g:生成调试信息。GNU 调试器可利用该信息。    

6、-IDIRECTORY:指定额外的头文件搜索路径DIRECTORY。    

7、-LDIRECTORY:指定额外的函数库搜索路径DIRECTORY。    

8、-lLIBRARY:连接时搜索指定的函数库LIBRARY。    

9、-m486:针对 486 进行代码优化。    

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 钢筋HRB和RRB 都表示什么意思,HRB400和RRB400有什么区别 gnu c/c++ 能编译asm吗 钢筋hrb是什么意思 gcc编译,出现错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ........ PSB HRB NPR钢筋分别是什么意思? HRB钢筋什么含义? 钢筋HRB代表什么 中国最大的城市是哪两个城市? 2020年浦东新区gdp是多少? 我14岁,读初一。如何长高? 上海市最穷的四个区分别是? 初一学生1米46怎样快速长高 上海的经济实力相当于发达国家那个水平 怎么样可以把照片上的水印和日期去掉? 初一了怎样才能长高 上海的经济那么发达,那么比美国纽约差多少呢? 怎样把照片上的水印时间修改成另外的时间,谢谢! 初一怎样才能快速长高 上海和东京有多大差距?? 初一的男生怎样能快点长高 xcode/gcc c语言 怎么调用汇编代码? 钢筋中HPB和HRB是什么意思? gcc编译简单的C程序 钢筋HRB335是什么含义? 使用gcc编译器只需要获得汇编代码的选项是: 如何在Vc++下面编写和编译.ASM文件 钢筋HPB和HRB有什么区别? gcc内联汇编问题 钢筋上面HRB三个字母分别代表什么中文意思?我说的是直译意思! 请问为什么我在用gcc编译c语言写的一个小程序时不能使用“wall”参数... asm是C语言的关键字吗 电脑上的E盘在哪 将.c转换为.asm(c语言转换为汇编) 求助:在GCC嵌入汇编中如何使用C语言定义的 在linux下编译驱动程序,用arm-linux-gcc编译时出现了很多错误? 如何用mingw将c源文件汇编成.asm文件 c文件里面含有c++的文件,然后编译的时候使用了GCC编译了造成的 求大神告诉我解决方法!!!!跪谢!!! 我的电脑E盘不见了,怎么找回来??? C语言怎样转换成汇编语言 新买的笔记本电脑,为什么没有E盘F盘啊?