免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1439 | 回复: 2
打印 上一主题 下一主题

请大侠们帮忙~~ [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-02-08 13:20 |只看该作者 |倒序浏览
帮朋友问个东西,也许放在这里不太好,但请大侠解答一下。




我先介绍一下与gcc有关的研究工作: 我们需要了解并优化一个用C/C+实现的庞大的SGSN程序的效率。一般容易想到的办法是用gcc附带的工具gprof,可是我们的研究任务同时在linux/windows平台上进行,本人孤陋,不知道windows平台是否有类似gprof一样的工具。更重要的是,使用gprof这样的工具虽然方便,可是最后得到的只是基于函数的统计结果,限制很多,不能自由定制。我们想仿照gprof的原理,自动对现有的协议栈代码添加log,记录每次函数的进出和时间,然后做针对性的分析。这就要做一个伪的C/C++编译器,只完成前端的词法、语法、语义分析的工作,把添加log的功能嵌入其中。

        我在学生时代修过编译原理的课,做过小型的C语言编译程序实习。可是面对面向对象的C++语言,还有复杂全面的gcc代码,不知从何下手。加上任务紧迫,很盼
望得到高手的点拨。下面几个问题,是我现在关心的:
1 选择哪个版本的gcc代码作为分析和修改的样本。我想越来越新的gcc应该是完善后端的代码优化,它的前端大概变化不大,所以不必选择最新的最大的gcc源代码。如果有比gcc更简单又能全面处理C/C++的开源编译器,也请推荐。
2 为了研究对C/C++的前端处理,要集中到哪些目录或文件上。gcc可以处理的语言很多,解开后的代码包含很多的目录,哪个才是重点呢?
3 有哪些讲述gcc的前端处理的中英文文档,或者讲解C/C++语言编译器实现的书刊。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2007-02-08 22:53 |只看该作者
dev-cpp也是带有gprof的,不过我没用过。
gcc以前的词法语法工具是用lex和yacc做的,
现在的版本词法是用手工写的。语法我不太清楚。
解开后有一个gcc的目录,那个应该是重点。
总之很复杂,有点恐怖。
这里有些资料
http://linux.chinaunix.net/bbs/thread-885953-1-2.html

论坛徽章:
0
3 [报告]
发表于 2007-02-09 09:47 |只看该作者
谢谢。老大~ 我去看看。确实比较复杂,不过没啥,等弄出点眉目在发出来让大家看看。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP