GCC 8.3 发布,这是面向GNU系统发布的开源和免费编译器。说起来自GCC 首个Beta版本发布已经过去30年时间了,本次版本更新包含了GCC 6.x或者其他项目分支的大量新功能,推荐所有平台使用最新版本。
GCC基本简介
GCC是用于Unix,Unix-pke系统的编译器。不过,现在Windows下也出现了GCC的稳定移植版。这要感谢Internet上众多程序员的共同努力。
如今,在Windows下比较流行的GCC移植版主要有三个。他们是 MinGW,Cygwin和Djgpp。虽然,Djgpp是应用于DOS系统的,考虑到windows对2.DOS的兼容,所以也将Djgpp纳入其中了。
总体来说,MinGW,Cygwin和Djgpp各有特色,针对不同的应用场合,可以选择不同的移植版来满足需要。MinGW这个系列的移植,主要方向是让GCC的Windows移植版能使用Win32API来编程。而Cygwin的目标是能让Unix-pke下的程序代码在Windows下直接被编译。至于Djgpp,则是想让DOS下也能用上GCC。
对于开发人员不同的需求。选择合适的移植版会让工作变得轻松而高效。 。
GCC使用方法
1.安装了MinGW,在其根目录下的bin文件夹中发现有
2.然后在该文件夹中创建test.cpp文件并将其内容设置为:
3.双击test.bat文件,发现该文件夹中产生了一个a.exe文件,执行该exe文件,发现其与预期编译效果一致,说明编译成功。gcc –o name test.cpp
4.可以生成名为name.exe的可执行程序。
5.把指令改为gcc –e test.cpp >test.txt 后,提示错误gcc: no input files
6.而把参数E改为大写之后问题即解决:gcc –E test.cpp > test.txt
GCC 8.3更新日志
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 copd 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 介绍了这缺陷的额外案例。开发团队决定在单个改动中解决掉这个缺陷的所有案例,而不是只解决掉那些回归。