GCC 编译器原理

 

 

全称为GNU CC GNU项目 中符合中符合ANSI C标准的标准的编译系统

编译如编译如CCC++C++ObjObject CCJJ avaFFortranPPascall

Modula-3Ada等多种语言

GCCGCC是可以为多种硬体平台上编译出可执行程序的超级编是可以为多种硬体平台上编译出可执行程序的超级编译器,其执行效率与一般的编译器相比平均效率要高

20%~30%

一个交叉平台编译器 ,适合在嵌入式领域的开发编译


GCC编译器的版本

GNU Compiler Collection

C, C++, Objective-C, Fortran, Java, Ada GCC 4.3.1 

http://gcc.gnu.org  

GCC 4.3.0 

Mar55, 2008

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
gcc是一款开源的编译器,它可以将C、C++、Objective-C等高级语言编写的源代码转换成可执行文件。gcc编译器的工作原理可以分为四个阶段:预处理、编译、汇编和链接。 1. 预处理阶段:在这个阶段,gcc会对源代码进行预处理,主要包括以下几个步骤: - 处理头文件:将#include指令所包含的头文件内容插入到源代码中。 - 宏替换:将源代码中的宏替换成宏定义所对应的内容。 - 条件编译:根据#if、#ifdef、#ifndef、#else、#elif和#endif指令来判断哪些代码需要编译,哪些代码需要忽略。 - 去注释:将源代码中的注释删除。 2. 编译阶段:在这个阶段,gcc会将预处理后的源代码转换成汇编代码,主要包括以下几个步骤: - 词法分析:将源代码分解成一个个单词。 - 语法分析:将单词组成语句,并检查语法是否正确。 - 语义分析:检查语句是否有意义,如变量是否定义过等。 - 中间代码生成:将源代码转换成中间代码。 3. 汇编阶段:在这个阶段,gcc会将汇编代码转换成机器码,主要包括以下几个步骤: - 语法分析:将汇编代码分解成指令和操作数。 - 语义分析:检查指令和操作数是否有意义。 - 目标代码生成:将汇编代码转换成目标代码。 4. 链接阶段:在这个阶段,gcc会将目标代码和库文件链接成可执行文件,主要包括以下几个步骤: - 符号解析:将目标代码中的符号(如函数名、变量名等)与库文件中的符号进行匹配。 - 重定位:将目标代码中的地址与库文件中的地址进行匹配。 - 可执行文件生成:将目标代码和库文件链接成可执行文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值