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多页的分析笔记(只我自己画的一些不符合任何标准的图,不要抱太高的期望,我不太懂什么顺序图,协作图什么的),如果可能且大家需要的话,我可能扫描下,传上来。(呵呵,不过,我写字一向比较草(实际上比较糟糕),写的也比较乱,看了不要骂我就行了。)

firefox源码分析相关推荐

  1. firefox源码分析 (还是不建议用余学习C++)

    Source code directories overview  link 理解Firefox - 序言 不知道楼主还会不会回来看,我来说说我自己的一些看法吧.  想看FF的SRCCODE,你首先有 ...

  2. Ant Design源码分析(三):Wave组件

    Wave组件效果预览 在上一篇文章Button组件的源码分析中遇到了一个Wave组件, Wave组件在Ant design中提供了通用的表单控件点击效果,在自己阅读源码之前,也并没有过更多留心过在这些 ...

  3. SpringMVC之源码分析--LocaleResolver和ThemeResolver应用

    概述 以上分析了Spring MVC的LocaleResolver和ThemeResolver两个策略解析器,在实际项目中很少使用,尤其是ThemeResolver,花精力去分析他们,主要是为了系统的 ...

  4. jquery1.43源码分析之工具方法

    相关文章: jQuery插件开发全解析 读jq之四 jquery1.43源码分析之核心部分 推荐圈子: Jquery 更多相关推荐 这个部分是jquery一些常用的工具方法. 包括为jquery对象扩 ...

  5. 导出目录结构_Selenium Webdriver 3.X源码分析之核心目录结构

    > 这是Selenium3.X源码分析系列第3篇 在看Selenium 3.X核心目录结构前,我们先看一个基础的Selenium使用实例 请注意上述代码中,匡红的导入部分,为什么可以从selen ...

  6. kube-scheduler 磁盘调度源码分析

    作者 | leadersnowy 来源 | CSDN博客 kube-scheduler介绍 首先我们知道,kube-scheduler的根本工作任务是根据各种调度算法将Pod调度到最合适的工作节点上 ...

  7. jQuery源码分析-10事件处理-Event-事件绑定与删除-bind/unbind+live/die+delegat/unde

    10.4    .bind() .one() 10.4.1  如何使用 .bind( eventType, [eventData], handler(eventObject) )   在匹配的元素上绑 ...

  8. HttpURLConnection源码分析

    本文概述 从源码角度理解HttpURLConnection是怎么一步步封装底层socket调用的. HttpURLConnection使用回顾 我们先来回顾一下它的用法: new Thread(() ...

  9. jQuery源码分析-10事件处理-Event-事件绑定与删除-bind/unbind+live/die+delegat/undelegate

    Js代码   作者:nuysoft/高云 QQ:47214707 EMail:nuysoft@gmail.com 声明:本文为原创文章,如需转载,请注明来源并保留原文链接. 后文预告:封装事件对象 便 ...

最新文章

  1. PowerDesiger 15逆向生成工程E-R图及导出word表格
  2. Django分页的基本实现办法
  3. 字节码学院之map介绍
  4. onMeasure onLayout用法,区别
  5. spock测试_使用Spock测试您的代码
  6. fedora如何隐藏顶部状态栏_藏在 iOS 13 里的 9 个隐藏小技巧
  7. QT 网络编程(1)
  8. 1.7编程基础之字符串 03 基因相关性 python
  9. ADO.NET与Sql Server和Access的连接
  10. Linux 命令(26)—— rename 命令
  11. Qt 批量替换指定文本为目标文本
  12. python植物大战僵尸代码例_python实现植物大战僵尸游戏实例代码
  13. 微信小程序的快捷注释
  14. 产品设计中的 “快速迭代” 思维
  15. JavaScript函数开关思想
  16. CVPR 2020 论文大盘点-人脸技术篇
  17. 资讯类App主流框架(一)
  18. 基于人脸识别的“带口罩”系统-python完整实现
  19. dos2unix命令找不到怎么办
  20. proteus中仿真arduino利用74hc373实现抢答器

热门文章

  1. Selenium实战之Python+Selenium爬取京东商品数据
  2. java版spring cloud+spring boot 社交电子商务平台(二)Eureka(服务注册和服务发现基础篇)
  3. FTP服务器创建用户及配置权限
  4. 赶紧来传智播客报名吧~名额不多了
  5. 虚拟磁盘discard在qemu中的应用
  6. 使用Android-PickerView实现地址选择器时间选择器
  7. 目前流行的计算机硬盘容量多少,电脑硬盘买什么容量的性价比最高?
  8. python中for循环的代码_Python for循环及基础用法详解
  9. 微信产品经理Grover访谈:一个美国人对微信产品设计
  10. springmvc入门和前端控制器匹配方式url-patten