firefox源码分析
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源码分析相关推荐
- firefox源码分析 (还是不建议用余学习C++)
Source code directories overview link 理解Firefox - 序言 不知道楼主还会不会回来看,我来说说我自己的一些看法吧. 想看FF的SRCCODE,你首先有 ...
- Ant Design源码分析(三):Wave组件
Wave组件效果预览 在上一篇文章Button组件的源码分析中遇到了一个Wave组件, Wave组件在Ant design中提供了通用的表单控件点击效果,在自己阅读源码之前,也并没有过更多留心过在这些 ...
- SpringMVC之源码分析--LocaleResolver和ThemeResolver应用
概述 以上分析了Spring MVC的LocaleResolver和ThemeResolver两个策略解析器,在实际项目中很少使用,尤其是ThemeResolver,花精力去分析他们,主要是为了系统的 ...
- jquery1.43源码分析之工具方法
相关文章: jQuery插件开发全解析 读jq之四 jquery1.43源码分析之核心部分 推荐圈子: Jquery 更多相关推荐 这个部分是jquery一些常用的工具方法. 包括为jquery对象扩 ...
- 导出目录结构_Selenium Webdriver 3.X源码分析之核心目录结构
> 这是Selenium3.X源码分析系列第3篇 在看Selenium 3.X核心目录结构前,我们先看一个基础的Selenium使用实例 请注意上述代码中,匡红的导入部分,为什么可以从selen ...
- kube-scheduler 磁盘调度源码分析
作者 | leadersnowy 来源 | CSDN博客 kube-scheduler介绍 首先我们知道,kube-scheduler的根本工作任务是根据各种调度算法将Pod调度到最合适的工作节点上 ...
- jQuery源码分析-10事件处理-Event-事件绑定与删除-bind/unbind+live/die+delegat/unde
10.4 .bind() .one() 10.4.1 如何使用 .bind( eventType, [eventData], handler(eventObject) ) 在匹配的元素上绑 ...
- HttpURLConnection源码分析
本文概述 从源码角度理解HttpURLConnection是怎么一步步封装底层socket调用的. HttpURLConnection使用回顾 我们先来回顾一下它的用法: new Thread(() ...
- jQuery源码分析-10事件处理-Event-事件绑定与删除-bind/unbind+live/die+delegat/undelegate
Js代码 作者:nuysoft/高云 QQ:47214707 EMail:nuysoft@gmail.com 声明:本文为原创文章,如需转载,请注明来源并保留原文链接. 后文预告:封装事件对象 便 ...
最新文章
- PowerDesiger 15逆向生成工程E-R图及导出word表格
- Django分页的基本实现办法
- 字节码学院之map介绍
- onMeasure onLayout用法,区别
- spock测试_使用Spock测试您的代码
- fedora如何隐藏顶部状态栏_藏在 iOS 13 里的 9 个隐藏小技巧
- QT 网络编程(1)
- 1.7编程基础之字符串 03 基因相关性 python
- ADO.NET与Sql Server和Access的连接
- Linux 命令(26)—— rename 命令
- Qt 批量替换指定文本为目标文本
- python植物大战僵尸代码例_python实现植物大战僵尸游戏实例代码
- 微信小程序的快捷注释
- 产品设计中的 “快速迭代” 思维
- JavaScript函数开关思想
- CVPR 2020 论文大盘点-人脸技术篇
- 资讯类App主流框架(一)
- 基于人脸识别的“带口罩”系统-python完整实现
- dos2unix命令找不到怎么办
- proteus中仿真arduino利用74hc373实现抢答器
热门文章
- Selenium实战之Python+Selenium爬取京东商品数据
- java版spring cloud+spring boot 社交电子商务平台(二)Eureka(服务注册和服务发现基础篇)
- FTP服务器创建用户及配置权限
- 赶紧来传智播客报名吧~名额不多了
- 虚拟磁盘discard在qemu中的应用
- 使用Android-PickerView实现地址选择器时间选择器
- 目前流行的计算机硬盘容量多少,电脑硬盘买什么容量的性价比最高?
- python中for循环的代码_Python for循环及基础用法详解
- 微信产品经理Grover访谈:一个美国人对微信产品设计
- springmvc入门和前端控制器匹配方式url-patten