系统:PC
日期:2021-06-15
类别:编程开发
版本:v8.3
GCC编译器官方版是一款可以处理多种语言的编程开发工具,从最开始只支持C语言,到后来可处理 Fortran、Pascal、Objective-C、Java, 以及 Ada 与其他语言,让这款软件的实用性不断的提升,并且还在不断的更新添加内容,有兴趣的用户不妨下载使用。
GCC官方版原名为 GNU C 语言编译器(GNU C Compiler),后来因为可处理语言增多改名GNU编译器套件(GNU Compiler Collection),是一套以 GPL 及 LGPL许可证所发行的自由软件,亦是自由的类Unix 及苹果计算机 Mac OS X 操作系统的标准编译器。
1、编译高效
可以很高效的进行程序的编译工作
2、功能完善
十分完善全面的编译功能
3、轻松便捷
操作方式十分人性化,可以给你出色的体验
1、前端接口
前端的功能在于产生一个可让后端处理之语法树。此语法解析器是手写之递归语法解析器。
直到2004年,程序的语法树结构尚无法与欲产出的处理器架构脱钩。而语法树的规则有时在不同的语言前端也不一样,有些前端会提供它们特别的语法树规则。
在2005年,两种与语言脱钩的新型态语法树纳入GCC中。它们称为GENERIC与GIMPLE。语法解析变成产生与语言相关的暂时语法树,再将它们转成GENERIC。之后再使用"gimplifier"技术降低GENERIC的复杂结构,成为一较简单的静态形式(Static Single Assignment form,SSA)基础的GIMPLE形式。此形式是一个与语言和处理器架构脱钩的全域通用语言,适用于大多数的现代编程语言。
2、中介接口
一般编译器作者会将语法树放在前端,但其实此步骤并不看语言的种类而有不同,且不需要用到语法解析器。因此GCC作者们将此步骤归入通称为中介阶段的部分里。此类包括消解死码、消解重复运算与全域数值重编码等。
3、后端接口
GCC后端的行为因不同的前处理器宏和特定架构的功能而不同,例如不同的字符尺寸、呼叫方式与大小尾序等。后端接口的前半部利用这些讯息决定其RTL的生成形式,因此虽然GCC的RTL理论上不受处理器影响,但在此阶段其抽象指令已被转换成目标架构的格式。
GCC的技巧依其释出版本而有很大不同,但都包含了标准的算法,RTL由于可用的情形较少,且缺乏较高阶的资讯,因此相比较起来,增加的GIMPLE语法树形式,便显得比较不重要。
后端经由一次重读取步骤后,利用描述目标处理器的指令集时所取得的信息,将抽象暂存器替换成处理器的真实暂存器。此阶段非常复杂,因为它必须关注所有GCC可移植平台的处理器指令集的规格与技术细节。
后端的最后步骤相当公式化,仅仅将前一阶段得到的汇编语言代码藉由简单的子例程转换其暂存器与内存位置成相对应的机器码。
GCC 8.3 发布了,GCC 8.3 是 GCC 8 分支的 bug 修复版本,其中包含对 GCC 8.2 中的回归和严重 bug 的重要修复,自上一版本以来修复了超过 153 个错误。
GCC(GNU Compiler Collection,GNU编译器套装),是一套由 GNU 开发的编程语言编译器。它是一套以 GPL 及 LGPL 许可证所发行的自由软件,也是 GNU计划 的关键部分,亦是自由的 类Unix 及苹果计算机 Mac OS X 操作系统的标准编译器。GCC(特别是其中的C语言编译器)也常被认为是跨平台编译器的事实标准。GCC 原本只能处理 C语言,随后增加了处理 C++的能力,再之后也变得可处理 Fortran、Pascal、Objective-C、Java,以及 Ada 等多种语言。
新版更新主要是针对 Windows 操作系统的一个 C++ Microsoft ABI 位阈布局(bitfield layout)Bug 的修复(PR87137)。具体如下:
A non-field declaration could cause the current bitfield allocation unit to be completed, incorrectly placing a following bitfield into a new allocation unit. The Microsoft ABI is selected for:
Mingw targets
PowerPC, IA-32 or x86-64 targets when the -mms-bitfields option is specified, or __attribute__((ms_struct)) is used
SuperH targets when the -mhitachi option is specified, or __attribute__((renesas)) is used
GCC 8 介绍了这缺陷的额外案例。开发团队决定在单个改动中解决掉这个缺陷的所有案例,而不是只解决掉那些回归。
使用UE新建一个文本,并编写一段程序,保存为myFirstCProgram.c
#include
void main() {
printf("my first C program !");
}
打开命令行,执行以下命令进行编译
gcc myFirstCProgram.c -o myFirstCProgram
最后直接在命令行执行以下命令
myFirstCProgram
运行情况如下图所示
1、安装MinGW编译管理安装软件
2、安装好MinGW软件后,找到安装文件夹下的bin目录,默认应该是:c:\MinGW\bin
3、系统环境变量的path中将路径添加到最后
4、按window + R键 ,输入cmd打开命令窗口后输入命令安装c语言编译器: mingw-get install gcc
注意:输入命令后需要按回车键,之间有一个空格,不能连在一起,命令窗口才可以识别,错误的如:mingw-getinstallgcc 缺少空格,命令窗口提示找不到,报错
【可选】安装以下属于c++的编译器:
5、安装g++或者gdb 输入命令: mingw-get install g++ && mingw-get install gdb
这时候就可以去编译后缀为.c的c语言源码了,在你的当前源码文件夹按住shift键然后鼠标右键就会出现在此处打开命令窗口
然后输入gcc 源码文件名即可编程生成可执行.exe文件了
如:
1.
2.
3.
4.
最基本的c语言代码:
#include
int main()
{
printf("hello world");
return 0;
}
评分及评论
这个要怎么使用,有教程吗?
收藏备用,谢谢分享
太感谢了,还没用,试过之后再来评论
喜欢赞一个
挺好的,目前没发现有什么问题,五星好评
点击星星用来评分