免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: qtdszws
打印 上一主题 下一主题

gcc版本的区别 [复制链接]

论坛徽章:
0
31 [报告]
发表于 2007-05-18 19:27 |只看该作者
gcc又出新版本了吧
呵呵

论坛徽章:
0
32 [报告]
发表于 2007-05-19 10:54 |只看该作者
原帖由 caymanww 于 2007-5-18 12:33 发表于 30楼  
gcc4和以前的版本变化很大, 主要是前端的变化很大,
gcc4之前是LR的分析方法,使用lex和yacc。
gcc4采用的是LL的分析方法,parser是手写的,不是自动生成的。
这是条正确的方向,建议看gcc4的代码。




高人多说说。

论坛徽章:
0
33 [报告]
发表于 2007-05-19 20:42 |只看该作者
gcc4.2似乎是编译速度加快了

论坛徽章:
0
34 [报告]
发表于 2007-05-21 12:46 |只看该作者
怎么好多人不支持楼主的想法,我认为学习gcc必然有他的好处,譬如安全方面,可执行程序是怎么构成的,或者编译器本身会存在一些缺陷,这只是猜测,我不知道,只知道以前美国海军某部门要肯汤普森(或者其他人)来检验系统是否安全时,就被通过gcc的漏洞得到root权限了

论坛徽章:
0
35 [报告]
发表于 2007-05-21 13:29 |只看该作者
原帖由 prolj 于 2007-5-19 10:54 发表于 32楼  




高人多说说。


谈不上高人。

编译器的前端,根据分析方法一般分为 两类,LL和LR,编译的书上都会说明。
LL方法的Parser是手工编写的,比较适合构造小巧,快速的编译器。而LR的Parser
一般比较负责,只能通过yacc等parser产生器来产生。
最新的parser产生器一般倾向于产生LL的Parser, 例如Antlr, javacc等。
应用LL方法构造的Parser一般比较复杂,代码难于维护。所以GCC4的Parser采用LL方法
(附:我一个朋友所在的公司的产品就是用GCC4的前端修改而来,我本身不作相关工作,
提供一点信息,供参考)

论坛徽章:
0
36 [报告]
发表于 2007-05-21 13:33 |只看该作者
原帖由 poize 于 2007-5-21 12:46 发表于 34楼  
怎么好多人不支持楼主的想法,我认为学习gcc必然有他的好处,譬如安全方面,可执行程序是怎么构成的,或者编译器本身会存在一些缺陷,这只是猜测,我不知道,只知道以前美国海军某部门要肯汤普森(或者其他人)来检验系统 ...


如果只是为了学习编译器的构造,gcc太过于复杂了。
如果想在gcc上做一些工作,那就需要看GCC的代码。
如果不是上述两种情况,令当别论。

论坛徽章:
0
37 [报告]
发表于 2007-05-22 16:50 |只看该作者
原帖由 caymanww 于 2007-5-18 12:33 发表于 30楼  
gcc4和以前的版本变化很大, 主要是前端的变化很大,
gcc4之前是LR的分析方法,使用lex和yacc。
gcc4采用的是LL的分析方法,parser是手写的,不是自动生成的。
这是条正确的方向,建议看gcc4的代码。


我怎么看到gcc-4.1.1/gcc目录下还是有gengtype-yacc.y  ?

论坛徽章:
0
38 [报告]
发表于 2007-05-23 12:00 |只看该作者
建议你去看看Tiny CC的原代码,相对GCC来讲比较简单,代码大概在5W行以内,看起来也比较容易上手

论坛徽章:
0
39 [报告]
发表于 2007-05-23 21:56 |只看该作者
4.0以后的版本主要是加了一层SSA的处理
以前的是
Source Code->Tree->RTL->Object code
4.0以后是
Source Code->Tree->SSA Tree->RTL->Object code

原来对RTL的优化多为机器级的,在语言级上的优化较少。
新加入的SSA Tree集中在语言级上进行优化,经过SSA后再由RTL层进行机器级优化比较合理,力度更大。

现在的框架潜力还很大

论坛徽章:
0
40 [报告]
发表于 2007-05-24 08:49 |只看该作者
呵呵,好几个id都是www.linuxforum.net的,看来这里也不错呀

怪不得。。。常来逛逛^_^

[ 本帖最后由 shwr 于 2007-5-24 08:51 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP