读书人

gcc 4.4.0出来了增加了对c++ 0x的支

发布时间: 2012-02-09 18:22:27 作者: rapoo

gcc 4.4.0出来了,增加了对c++ 0x的支持,想尝鲜的就去下吧,有得玩了。。。
转自:www.cppprog.com
原帖地址:http://www.cppprog.com/2009/0424/105.html

GCC 4.4.0 是一个主要版本,包含了GCC 4.3.x版及之前版本中不支持的新特性。
请参阅:http://gcc.gnu.org/gcc-4.4/changes.html了解更多关于GCC 4.4.0的更新信息。
包含此版本的FTP服务器可以在这里找到:http://www.gnu.org/order/ftp.html,你可以在子目录gcc/gcc-4.4.0/中找到它。

如果你使用GCC 4.4.0时遇到困难,可以访问http://gcc.gnu.org来寻求帮助信息。

对于G++,最大的变化莫过于对C++0x的支持^_^:

* 支持OpenMP 3.0规范。
* 加强了对即将到来的ISO C++0x标准的实验性支持。包括支持:类型识别(auto)、inline namespaces、统一初始化器(generalized initializer lists)、可标记为default和delete的函数(defaulted and deleted functions), 新的字符类型以及强类型enum(scoped enums)。
* __builtin_stdarg_start 已被完全移除,从GCC4.0开始不再赞成使用<varargs.h>。作为代替,应该使用__builtin_va_start。
* 现在-fpermissive默认为警告,所以以前版本的一些C++前端错误会被降级成警告。也可以使用-pedantic-errors参数转换成错误。
* 在GCC 4.4之前char类型的打包位域不会被正确打包,这样GCC4.4的修正造成了一个二进制接口的变化。例如这个结构里的a和b之间不再有4-bit填充:

1. struct foo
2. {
3. char a:4;
4. char b:8;
5. } __attribute__ ((packed));

为了识别位域的改变这里会出现一个警告:

foo.c:5: note: Offset of packed bit-field 'b' has changed in GCC 4.4

可以使用-Wno-packed-bitfield-compat来禁止这个警告。
* -Wuninitialized 会对类中的非静态引用或非静态常量成员没有在构造中定义的情况提出警告。

对于运行时库(libstdc++)
* 为即将到来的ISO C++0x标准改进的实验性支持,包含:
o 支持 <chrono>, <condition_variable>, <cstdatomic>, <forward_list>, <initializer_list>, <mutex>, <ratio>, <system_error>和<thread>。
o unique_ptr, 增补<algorithm>, 异常传递(exception propagation), 在<string>和<limits>中支持新的字符类型。
o 对已有工具开发统一初始化器支持(initializer lists),可标记为default和delete的函数(defaulted and deleted functions)以及基于C++0x的新的实现。
o 因使用stateful分配器(stateful allocators),标准容器效率更高。
* 实验性地支持在容器中使用非标准指针类型。
* 运行于glibc 2.10及之后版本的“long standing libstdc++/30928”问题已被修正。
* 同样,一些大小bug修正,尤其修正了大量的<locale>遗留问题。

其它大量的改进请参考http://gcc.gnu.org/gcc-4.4/changes.html

最后,感谢所有为GCC发展作用贡献的人们。

[解决办法]
实验品啊,等C++ 0x正式版出来以后我再用吧
[解决办法]
与时俱进



稳定压倒一切

[解决办法]
UP
还在用4.2.1版的人飘过.
[解决办法]
不知道自己的gcc是什么版本的人飘过
[解决办法]
还在用4.4.3的飘过
[解决办法]

探讨
还在用4.4.3的飘过

[解决办法]
不知道自己MinGW是什么版本的人----爬----过-----
[解决办法]
去下来看看
机子上的是什么版本还真不知道
[解决办法]
up
[解决办法]
4.3.2 飘过
[解决办法]
不急,现在还是试验品,使用0x特性编译程序还需要加参数
[解决办法]
ok~~试试
[解决办法]
只能自己玩玩,做产品可不行
[解决办法]
已经用上了
不过不知道如何在Windows下编译


[解决办法]
已经用了好久了。直接下了个现成的4.4 for win,解压在wxdevcpp下就差不多可以了。
[解决办法]
up

[解决办法]
顶 希望以后用的到
[解决办法]
[b][/b][i][/i][del][/del]
[解决办法]
我目前的gcc
gcc version 4.5.1 20101208 [gcc-4_5-branch revision 167585] (SUSE Linux)
[解决办法]
很好,很强大
[解决办法]
这坟挖的?
[解决办法]
旧版本还学不过来呢。
[解决办法]

探讨

还在用4.4.3的飘过

[解决办法]
现在都gcc4.6.1release了

读书人网 >C++

热点推荐