dwing吧 关注:5,669贴子:89,041

回复:gcc出4.6 stable了

只看楼主收藏回复

回复:31楼
试了你的4.5.3,仍然有重定位的问题,dll是dllwrap生成的.
又试了不使用dllwrap,重定位正常.


IP属地:北京32楼2011-04-22 10:52
回复
    使用dllwrap主要是为了导入.def文件


    IP属地:北京33楼2011-04-22 10:55
    回复
      插个题外(算是续http://tieba.baidu.com/f?kz=882960942
      比较了下lto对x264编译后速度优化的差别
      (开关唯一差别是-flto,gcc使用komisar编译的4.5.2,带lto补丁;因为是测试,都只用make,没使用fprofiled)
      测试视频1(电影片段,参数默认;顺序:先无-flto的x264跑3遍,再有-flto的跑3遍)
      无-flto
      13.72fps 15.35fps 14.33fps
      平均 14.667fps
      有-flto
      13.37fps 17.03fps 13.55fps
      平均 14.650fps
      测试视频2(动画片段,preset fast/tune animation;顺序:先有-flto的x264跑3遍,再无-flto的跑3遍)
      无-flto
      19.33fps 18.99fps 19.55fps
      平均 19.290fps
      有-flto
      19.29fps 18.73fps 19.39fps
      平均 19.137fps
      2次视频测试间有整机重启
      看样子lto对x264编译优化并不怎么好的样子……


      IP属地:湖南34楼2011-04-22 11:37
      回复
        lto优化理论上不一定会给优化带来好处,和具体程序结构有关.


        IP属地:北京35楼2011-04-22 12:29
        回复
          不过从最近的gcc编译体验来看,lto还不够稳定,效果貌似也不如VC的链接优化,拭目以待吧.


          IP属地:北京36楼2011-04-22 12:34
          回复
            > 35 & 36
            应该是了,说实话我对lto几乎一无所知;搞不好以后情况就不一样了
            ------------------
            另外34L那第1次测试结果很不稳定,估计是当时程序开太多了;重启后第2次的就好很多


            IP属地:湖南37楼2011-04-22 12:47
            回复
              分享两个比较新的MinGW版本:
              http://www.xvidvideo.ru/component/docman/cat_view/28-cross-mingwgcc-x86x64.html
              http://www.equation.com/servlet/equation.cmd?call=fortran
              不过貌似都不是很好用,bug很多.


              IP属地:北京38楼2011-04-22 12:57
              回复
                回复:32楼
                我也是只在使用dllwrap时有此问题
                所以我怀疑binutils那里有什么问题


                IP属地:山东39楼2011-04-22 14:00
                回复
                  回复:36楼
                  LTO现在在我的4.5.x上表现还行,在4.6上有些问题(主要是binutils使得LTO不可靠了……)


                  IP属地:山东40楼2011-04-22 14:02
                  回复
                    回复:38楼
                    前一个版本没用过,不评论。
                    Equation的版本,在我自行编译前是比较喜欢使用的,亮点是重构了libgomp库,不再依赖pthread。所以使用OpenMP的话,性能或许有些许的提升。其他方面就一般了,在很多项目上(特别是C++)都会编译失败……


                    IP属地:山东41楼2011-04-22 14:05
                    回复
                      关于dllwrap,我找了很多资料,结果查到这个信息:http://sourceware.org/bugzilla/show_bug.cgi?id=427,上面说dllwrap在2006年就废弃了,可以使用ld的开关-shared代替。
                      我也不知道tdm的为啥没有问题,因为dllwrap的代码已经许久没有更新了,有人说是重定位段错误只在static libgcc中出现,我印象中tdm的是shared的吧,而我的是static的。
                      不过我不知道既要重定向又要def的,不用dllwrap可不可以实现。
                      def的可以使用dlltool,ld有个开关-Wl, --base_file <basefile> 重定向,不知道如何结合起来。


                      IP属地:山东42楼2011-04-23 00:55
                      回复
                        mingw有没有好用的轻量级gui类库啊?mfc,wtl都不能用,wxwidget,qt之类的库编译出来的程序太大(空程序静态链接体积都大于1m).


                        43楼2011-05-06 22:42
                        回复
                          很久不写GUI, 也觉得没什么意思, C++写GUI就是体力活, 还不如用C#写界面部分.


                          IP属地:北京44楼2011-05-06 22:51
                          回复
                            开源跨平台GUI轻量级的有fltk、IUP等,但是缺少gui builder,所以写代码挺费时。如果在windows下使用,又要考虑生成代码的体积的话,那么最好使用vc,gcc要使用-Os -fno-rtti -fno-exceptions,然后strip减小体积。如果你只在windows下,那么建议使用wtl和winx,这俩生成最小,如果需要跨平台,最好使用Qt,至于wx,暂时建议版本只使用wx2.8.12,这个版本bug较少。(等wx3.0时再看看稳定性)
                            GUI知道怎么用即可,算法和实现还是核心内容。
                            ps: I hate .net ...
                            


                            IP属地:山东45楼2011-05-06 23:19
                            回复
                              虽然我主要写C/C++程序, 但.NET和java我都不排斥, 客观地说这两种语言不可避免要成为主流, 而且不得不承认这种半动态语言在代码安全,质量,跨平台,丰富的内置类库以及编写和运行效率上达到了最佳的平衡点, 再加上都有大公司的推广.


                              IP属地:北京46楼2011-05-06 23:27
                              回复