+ -
当前位置:首页 → 问答吧 → 【北京】求高手帮忙用Perl编写一个分析C语言代码的工具(有报酬)

【北京】求高手帮忙用Perl编写一个分析C语言代码的工具(有报酬)

时间:2010-08-12

来源:互联网

本帖最后由 Sumotori 于 2010-08-12 11:59 编辑

题目:低功耗代码分析

描述:通过优化软件代码来降低设备功耗,此设计只是分析,并提出合理建议。用Perl编写一个可以分析C语言代码的工具,把C code输入到工具里,然后逐行分析,并找出功耗大的某段程序,并给出优化建议。比如,C语言中有3种循环方式,假设代码中存在while循环,通过此软件的分析,当程序逐行分析到此循环时,弹出提示框,给出建议:while循环功耗过大,建议用for循环代替。

背景:软件设计中,代码优化是一件非常有意义的事情。优化的本质是对代码进行等价变换,使变换前后的代码运行结果相同,但变换后的代码比变换前的代码具有更多优越性能。传统的观点要求变换后的代码运行速度较快或占用较少运行资源,或二者兼备。随着嵌人式系统的快速发展,软件功耗问题显得越来越重要,应该将“省电”作为软件优化的一项技术指标,这样对软件优化的评价体系才算完整。值得注意的是,大多数情况下性能和功耗并不矛盾,减少程序执行时间同样会使程序功耗减少。

在功耗优化这个问题上,研究者普遍比较关注硬件功耗优化,应用各种技术想方设法改进硬件的功耗,比如在芯片制造工艺上采用更精细的纳米技术,不断降低芯片驱动电压,不断改变片内系统结构等。事实上,整个系统的运行管理是由软件体现的。在硬件基础一定的情况下,只有将软件系统对能量的损耗降至最小,才能使整个系统工作于最佳状态。面向功耗的软件优化方法是当前嵌入式系统低功耗研究领域的热点。掌握软件运行时的能量消耗特征、准确获取能量消耗数据信息,是面向低功耗的软件优化研究的前提。经过多年的努力,许多学者也提出了关于如何减少软件功耗的方法。研究表明,软件优化对降低功耗会有数量级的贡献。针对同一任务,所选择的算法不同或采用不同的实现方式,不仅性能有差别,能耗也大不一样。因此在进行系统优化设计时,除了代码的规模和执行性能之外,功耗也是一个需要认真考虑的问题。

联系方式
QQ56702
HP18701019207
具体可以加QQ或打电话详谈,报酬面议。

希望高手有时间能帮帮小弟,不胜感激。

作者: Sumotori   发布时间: 2010-08-12

太牛了,有了这个工具,就可以招聘更加垃圾的程序员了,是吧?

作者: flw   发布时间: 2010-08-12

本帖最后由 Sumotori 于 2010-08-12 11:52 编辑

我是做毕业设计, 但是主要学的微电子方面, 接触软件不多....
说话不用那么主观吧
版主能不能帮帮忙啊 这个对你来说就是小菜一碟了
能帮忙大概做个模板也成

作者: Sumotori   发布时间: 2010-08-12

设备功耗。。。

作者: yybmsrs   发布时间: 2010-08-12

作者: Sumotori   发布时间: 2010-08-12

不懂的,漂过

作者: gregorian   发布时间: 2010-08-12

本帖最后由 Sumotori 于 2010-08-12 12:06 编辑

也不用太懂这个东西
只要会Perl 帮忙做个工具就成
具体条件我可以自己添加

高手帮帮忙啊, 毕业设计题目每个人都不同, 小弟也是选晚了, 实在没得选了, 被迫接受此题目

作者: Sumotori   发布时间: 2010-08-12

感觉这个不是几个脚本就可以搞定的,完全是一个大项目的需求。而且光懂perl还不行,必须对c, cpp等编译的过程,原理等底层的东西都要相当的熟悉,不然谈何优化呢?
我知道的目前有一些工具时可以帮助检测c, cpp中潜在缺陷的,但优化似乎更上一层楼。反正我个人认为不是轻松可以搞定的。跟写个perl的检查器,专门分析c, cpp代码是否符合某种code standard完全不在一个级别上。

个人观点,仅供参考

作者: climby   发布时间: 2010-08-12

编译器的一部分。。

作者: snriyt   发布时间: 2010-08-12

本帖最后由 Sumotori 于 2010-08-12 12:38 编辑

回复 climby



可能是我表达不是太清楚, 这个设计不用优化,只需要找出使用不恰当的语句,并提示,给一些建议

要分析的C code不需改动...

而且要分析的C语言程序对象也不会太过庞大,只是单级程序,不是那种分多级C语言程序

这是个本科的毕业设计



因为这个C语言程序最终会转换成8051代码拷入IC, 硬件设计已经无法改变, 所以就希望通过软件的优化来降低比如IC的功耗等.

但是我现在做的也不用那么复杂, 需要一个工具能分析C code, 只要能读到某一行,找出我提前设定的条件的语句就行... 其他我可以自己慢慢改进

作者: Sumotori   发布时间: 2010-08-12

回复 Sumotori


    如果需求是这样的话,复杂程度就降低了许多了。针对具体需要改进的代码的case,应该可以写出一些checker,然后用这些checker,分析代码,报告出问题的地方以及提出改进建议

作者: climby   发布时间: 2010-08-12

热门下载

更多