内容简介:GCC 7.1发布,完全支持C++17
据GCC的维护者Jakub Jelinek 所写 ,在GNU编译器套件集GCC的最新主版本(Majoir Release)GCC 7.1中,提供了丰富的新特性,包括:对当前 C++17草案 的实验性支持、更好的诊断能力以及新的优化技术。
总所周知 ,GCC的稳定版(Stable Release)是从x.1开始编号的,而版本号x.0是为候选版(Release Candidate)预留的。因此,GCC 7.1是GCC 7的首个稳定版。
正如前面所提到的,GCC 7.1中的C++ Front End提供了对当前C++17草案的支持,所支持的特性包括constexpr、类模板参数推导(template argument deduction)、自动模板参数和结构化绑定等。GCC 7.1同时支持 -std=c++1z
和 -std=gnu++1z
编译器标识。在 C++的状态页面
中,列出了C++ Front End中的所有新特性。正如InfoQ在前期所报道的,ISO C++委员会已于近期完成了对C++17的定义工作,只待得到组织中各国家机构的批准。
GCC 7还对优化器进行了改进,其中包括一些新的过程内和过程间优化,例如:
- 循环切分(Loop splitting),编译器选项为-fsplit-loops。在一些循环中,包含对一部分代码永真而对其余代码永假的条件,该优化选项适用于这样的循环。
- 值范围(Value range)和按位常量传播(Constant Propagation),编译器选项分别为-fipa-vrp和-fipa-bit-cp。它们分别用于在调用关系图中传播变量所属范围的知识,以及变量中值为零的比特位的位置信息。
- 代码提升(Code hoisting),编译器选项为-fcode-hoisting。一个函数可能存在多个尽早退出的执行路径,该选项通过在所有这些路径上对表达式求值,改进了部分冗余消除(partial redundancy elimination)过程。
- 域外地址纠错(Out-of-scope address sanitization),编译器选项为-fsanitize-address-use-after-scope。用于纠错在定义范围之外的地址上使用的变量。例如:
int main (int argc, char **argv) { char *ptr; { char my_char; ptr = &my_char; } *ptr = 123; //这里,变量my_char的地址无效。 return *ptr; }
- 通用向量操作的算术溢出,编译器选项为-fsanitize=signed-integer-overflow。
在诊断方面,GCC 7.1改进了错误定位、错误定位范围、对错误拼写的标识符提出建议、选项名称和修复性(fix-it)提示,并给出了新的告警信息。
最后应注意的是,GCC 7.1中的一些改进可导致 使用以前版本正常编译的C++代码 出现编译不通过的问题。涉及的改进包括:更严格的模板规则、对操作符名字修饰(name mangling)转换的改进等。
GCC 7.1的全部改进列出于 更新日志 中。GCC 7.1可以从 GNU FTP服务器 下载。
查看英文原文: GCC 7.1 Released With Full C++17 Support
以上所述就是小编给大家介绍的《GCC 7.1发布,完全支持C++17》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- cURL 7.70.0 发布,原生支持 JSON、实验性支持 MQTT
- hi-nginx-1.5.2 发布,优化 cpp 支持,添加 groovy 支持
- hi-nginx-1.5.2 发布,优化 cpp 支持,添加 groovy 支持
- Spring Tools 4.3.0 发布,支持 Eclipse Theia 并弃用 Atom 支持
- Spring Tools 4.3.0 发布,支持 Eclipse Theia 并弃用 Atom 支持
- Tiki 20 发布,支持 markdown 语法
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Hard Thing About Hard Things
Ben Horowitz / HarperBusiness / 2014-3-4 / USD 29.99
Ben Horowitz, cofounder of Andreessen Horowitz and one of Silicon Valley's most respected and experienced entrepreneurs, offers essential advice on building and running a startup—practical wisdom for ......一起来看看 《The Hard Thing About Hard Things》 这本书的介绍吧!