upgrade mingw32 to gcc 4.2.0

GCC已经release到4.2.0版本了。用GNU的话说,This release is a major release, containing new features (as well as many other improvements) relative to GCC 4.1.x.
看一下changes,在优化方面,增加了一个option,可以规定参数之间及参数与全局数据间的关系。不过这个option是在语言标准下自动运行的。我水平比较低,没有能理解这个optione 有什么用。
语言方面,OpenMP已经在C,C++,Fortran是被支持了,这下对并发是一个很好我支持吧。
还有两个改进,也是关于option的,是溢出和top-level的,不理解,不管了。
C语言里,有一个比较有用的option,-Waddress,能检测可疑内存地址的使用。不过,有什么具体的效果还不清楚。
C++有一些细节性的改动,如模板的模板参数。还有一个有用的Option,-Wextra,会在
if (a) ;
return 1;
return 0;
这样的代码里,给一个warnning。对新手可能比较有用,老鸟不大会出现这种错误。
运行库方面,libstdc++添加了对TR1的支持,可以想见,GCC可能是会是最早的对c++0x标准支持的compiler了。
还有-mtune=native和-march=native将会根据cpuid自动选architecture了,方便多了,不用记那么多东西了。

OK,不管怎么样,升级是很不错的,如果你是gcc fans and c++ fans的话.
在linux下,自然不用麻烦了,cygwin我不太习惯用,不伦不类的。mingw32才是win下的正选。不过网上已经有人做了,参考一下:
http://www.cublog.cn/u/14337/showart.php?id=196265
我就是照着这个compile的
以下还有几个:
http://forum.doom9.org/showthread.php?t=108215
http://leekindo.googlepages.com/gcc-build
http://hi.baidu.com/myangelsky/blog/item/997609e980dd903fb90e2d27.html

OK,有了以上几个,就一定没有问题了。
不过,如果你像我一样无聊,还喜欢自己乱搞的话,你一定会选自己的目录什么的来编译,如果这样的话,你就要注意了,在configure的时候,一定一定要用相对目录,不然的话……
我就不幸被这个问题折磨了两个多星期,最后在mingw 的wiki上才找到根结,主要是gengtype这个东东。目前这个bug还没有fix,所以,要小心!
还有,在make的时候,要加上-march和-mtune(或-mcpu),这样会让你compiler和快一点。不过如果你不清楚自己的cpu是什么march的话(应该不会吧^_!)你可以上gcc.gnu.org上去找,或是编译两次,第二次用上面说的-march=native和-mtune=native

Finish!
Enjoy!

你可能感兴趣的:(C++,c,PHP,gcc,C#)