20.1MB
1.32MB
GCC编译器计算机版是一个可以处理多种语言的编程和开发工具。从一开始只支持C语言,到后来可以处理Fortran、Pascal、Objective-C、Java、Ada等语言,让这个软件的实用性不断提高,内容不断更新补充。感兴趣的用户不妨下载使用。
GCC编译器计算机版的软件特点
1.高效编译程序可以高效编译。
2.完美的功能
完善全面的编译功能。
3.简单方便
操作方式非常人性化,能给你极佳的体验。
GCC编译器计算机软件功能
1.前端接口前端功能是生成一个可以被后端处理的语法树。这个语法分析器是一个手写递归语法分析器。
直到2004年,程序的语法树结构还不能与要生产的处理器架构脱钩。语法树的规则在不同的语言前端有时是不一样的,有些前端会提供他们专门的语法树规则。
2005年,GCC中加入了两种新的与语言无关的语法树。它们被称为泛型和GIMPLE。解析语法变成了生成与语言相关的临时语法树,然后把它们变成泛型。然后,使用“gimplifier”技术来简化泛型的复杂结构,使其成为基于静态单赋值形式(SSA)的简单gimplifier形式。这种形式是一种通用语言,与语言和处理器架构相分离,适用于大多数现代编程语言。
2.中介接口
一般编译器编写者会把语法树放在前端,但实际上这一步不依赖于语言的种类,不需要语法解析器。因此,GCC作者将这一步划分为中介阶段。这个类包括解决死代码、解决重复操作和全局数字重新编码。
3.后端接口
GCC后端的行为因不同预处理宏和特定架构的功能而不同,比如不同的字符大小、调用方法和大小尾等。后端接口的前半部分使用这些消息来确定其RTL的生成形式。因此,虽然GCC的RTL理论上不受处理器的影响,但其抽象指令现阶段已经被转换成目标体系结构的格式。
GCC的技能根据其发布的版本差异很大,但都包含标准算法。与RTL相比,增加的GIMPLE语法树不太重要,因为可用的情况很少,缺乏更高层次的信息。
在后端重新读取步骤之后,通过使用在描述目标处理器的指令集时获得的信息,用处理器的真实寄存器替换抽象寄存器。这个阶段非常复杂,因为它必须关注所有GCC便携平台的处理器指令集的规格和技术细节。
后端的最后一步相当公式化,只是通过一个简单的子程序将前一阶段得到的汇编语言代码转换成寄存器对应内存位置的机器码。