Source code directories overview link 理解Firefox - 序言 不知道楼主还会不会回来看,我来说说我自己的一些看法吧。 想看FF的SRCCODE,你首先有些下列的基础。 1 COM 的基本的思想,然后再去看看XPCOM不过有了COM的基础后再看XPCOM就会很快的。 2 你要有相当的C++水平,要不然看起来会不怎么顺利的。 3 对JAVASCRIIPT有一些了解。 你可以下载ff的主干代码,用SOURCE INSIDE PARSE一下。 然后就是把它编译出来(编DEBUG版的,虽然大点儿,但方便学习分析用)(编译可以参考这里 http://www.firefox.net.cn/newforum/viewtopic.php?t=1761)。 然后去www.mozilla.org上去看它的文档。(http://www.mozilla.org/docs/) 先看看Core Mozilla Architecture,再看看Code Modules and Libraries 然后就要实践去看它的src code。我建议先从FIREFOX的CACHE看起,然后再扩展它的网络库(netlib),然后再过渡到layout引擎。 这么做理由如下: cache所处的位置稍稍偏低层一些,这里你可以学到很多东东,也不会被太底层的细节所拖累。随着你的了解的入深,你会慢慢知道怎么去读它的源代码。 当然,你要一边看,一边去调用它的一些功能,动手之后的印象才会深的。我曾在网站上看到,什么如何去读CACHE之类的贴子,其实,你亲自己去看看它的代码不就什么都知道了。 我曾经(三个月之前)写了一个关于FIREFOX CACHE及NETLIB的一个PPT,谁需要的话可以把email留下我会发到你的邮箱里,同是也希望对大家有所帮助 (呵呵,不过我不希望这个PPT在网上传播, 有点儿小气,希望收到PPT的网友不要到处传播。) 我分析FF 源代码,写了大约300多页的分析笔记(只我自己画的一些不符合任何标准的图,不要抱太高的期望,我不太懂什么顺序图,协作图什么的),如果可能且大家需要的话,我可能扫描下,传上来。(呵呵,不过,我写字一向比较草(实际上比较糟糕),写的也比较乱,看了不要骂我就行了。)