您的位置:首页 > 编程语言

在水木上看到的代码阅读的方法

2008-07-23 18:05 225 查看
我学习程序设计差不多4年了,这四年主要是编写代码,但是我记得哪个高人说过代码的编写需要靠读代码+写代码相互配合才能达到好的效果,而且最好阅读一个完整的系统的代码。
我最近想研究一下一个叫lcc的东西,属于一个C编译器。我之前也写过一个比c简单的编译器,所以有一些了解。但是对于阅读一个现有的编译器,但是我实在是不知道该从哪里入手,从哪部分看是看起。或许你会说“看你感兴趣的部分”,但是对于我感兴趣的部分,我都不知道如何和其他部分相衔接的(没错或许你会从代码片断中得到很多或者是少许灵感,但是那终究不是研究一个系统)。
我想问问一些阅读过完整系统的同学高手,你们是如何做一些前期的阅读的工作的,然后如何进行阅读的,是否有具体的方法或者是标准(比如对于某些代码的理解只需要达到某个标准就好,不用完全理解),

迷茫中……,希望高手指点。
ps:是否有兄弟们阅读过gcc的代码,阅读gcc代码需要特别高的智商吗?

有一本讲lcc代码的书,很不错
你先把书看一遍,代码应该就很好懂了
http://www.amazon.com/Retargetable-C-Compiler-Design-Implementation/dp/0805316701

我和你正好相反,我代码看了很多,但是代码写的不多,我的经验是调试testcase,这个至少对我比较有用,对于gcc,可以直接去它的bugzillar上找人家已经fix的报告,或者没有fix的,然后跟着人家的步骤去调试bug,这样可以知道这个问题的来龙去脉。像对于一些比较稳定的系统,bug不是特别多,很多bug看上去很简单,但是都是涉及一些主要模块的东西,在bugzillar上他们都会有详细的描述和讨论,包括一些设计的背景。。而且分类的都很好,可以很快找到你感兴趣的模块。关键最快的方式还是问题驱动,自己尝试的去修改一个系统,在这上面做一些事是最好的方式。。

有源代码,就可以分析一下数据结构以及函数调用流程。然后调试,跟踪出自己不是很清楚的数据结构部分。明白了数据结构之后,所有的问题将会迎刃而解。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: