0. chromium源代码分析 - 序
本打算在CSDN写完这系列文字,却因为在CSDN中误删了一篇blog,该篇blog被移到了回收站。然而CSDN居然没有从回收站撤销删除的操作方法。联想到之前CSDN泄密的问题,其可靠性值得怀疑。随转向CNBlog来写这些文字。
偷得浮生半日闲。忙中偷闲看看chromium代码。看过一段,不禁感慨,不亏是一流的公司,写出的架构也是不一般。不看代码,就凭chrome在windows上运行的效率也能感受到chromium代码上的高效。
本人能有幸看到chromium的源代码,还要感谢google为开源事业做的支持。本人学疏才浅,能有chromium代码学习的机会,真是有幸。希望能借chromium之力,提升自我。
能写这系列文档,首先感谢google的开源,在我的印象中开源的东西要么就是功能简陋,要么就是bug满天飞,抑或是满篇代码没有半点注释。但chromium却很不一样,速度快,界面清爽,bug少。看其代码,注释也是满满的。
再次要感谢的是早期将chromium的UI抽取出来的前辈(很早期的前辈,现在baidu、google都无法找到了,未能记录前辈姓名十分惭愧。),前辈将chromium的UI部分抽取并公开出来--chromiumFrame。前辈已经将chromium的UI框架抽出,消息处理,基础类库等等都有分装。前人栽树后人乘凉,感谢前辈分析后能公开出来,我也是在前辈的chromiumFrame基础上再做深入的分析学习。
CSDN上研究Chromium的大神很多,我写这系列文章,只为自己记录点滴,不能与大神们做类比。且本人不善写作,很多文字只有自己能看明白,写在blog上,又不免会有看客看过。如有写不明道不白的地方还希望看客不要深究。若有错误之处,请回复指出,本人不胜感激。
言归正传。准备工具和代码,一览chromium风采。先要下载前辈的chromiumFrame,链接就请去前辈的blog查找。其次是工具sourceinsight,vs2008必备。
我这不编译Chromium。3年前i5+8G的机器,chromium我编译了整整4个小时,vs调试起来也非常的慢。这种方式导致我一直没有深入的的学习chromium。3年后的今天我决定用2012年的代码开始学习框架。我相信chromium这4年来在框架上变化应该不会太大。
以下是大神文章的参考,记录不全,如有参考定不敢遗漏,日后增补。
上文提到的前辈暂时无法找到,日后定要寻到并记录:
http://blog.csdn.net/caimouse/archive/2008/09/07/2893806.aspx
http://www.2cto.com/kf/201312/261130.html
http://blog.csdn.net/makefish/article/details/5700279
0. chromium源代码分析 - 序的更多相关文章
- 《LINUX3.0内核源代码分析》第二章:中断和异常 【转】
转自:http://blog.chinaunix.net/uid-25845340-id-2982887.html 摘要:第二章主要讲述linux如何处理ARM cortex A9多核处理器的中断.异 ...
- Android5.0 Recovery源代码分析与定制(一)【转】
本文转载自:http://blog.csdn.net/morixinguan/article/details/72858346 版权声明:本文为博主原创文章,如有需要,请注明转载地址:http://b ...
- 1.4. chromium源代码分析 - chromiumframe - 消息系列
Message framework 是对消息循环的封装和扩展,Chromium在消息循环中增加处理内部任务的工作.将内部工作处理寄生在Windows的消息循环中,会有一个问题,就是没有Windows自 ...
- 1.3. chromium源代码分析 - chromiumframe - 窗口系列
在_tWinMain中有这样两条语句: MainWindowDelegate delegate; view::Window::CreateNativeWindow(NULL, gfx::Rect(), ...
- 1.2. chromium源代码分析 - chromiumframe - 入口函数
ChromiumFrame的入口函数在main.cpp中,打开main.cpp.中包含3个类和_tWinMain函数._tWinMain就是我们要找的入口函数.我做了部分注释: int APIENTR ...
- 1.1. chromium源代码分析 - chromiumframe - 介绍
本人能力有效,面对chromium庞大的代码就头大.还是先由前辈的chromiumFrame入手. 1. chromeFrame概貌 chromiumFrame是前辈的心血之作,以最小化的方式抽出ch ...
- Android HandlerThread 源代码分析
HandlerThread 简单介绍: 我们知道Thread线程是一次性消费品,当Thread线程运行完一个耗时的任务之后.线程就会被自己主动销毁了.假设此时我又有一 个耗时任务须要运行,我们不得不又 ...
- Spark SQL Catalyst源代码分析之UDF
/** Spark SQL源代码分析系列文章*/ 在SQL的世界里,除了官方提供的经常使用的处理函数之外.一般都会提供可扩展的对外自己定义函数接口,这已经成为一种事实的标准. 在前面Spark SQL ...
- chromium源代码下载(Win7x64+VS2013sp2, 39.0.2132.2)
chromium源代码下载(Win7x64+VS2013sp2, 39.0.2132.2) http://www.aichengxu.com/diannao/1000251.htm 前后折腾了四天,当 ...
随机推荐
- php技能考试每日一练
PHP技術者認定 1, [日本語文字のメール送信] (2016年10月31日)以下のコードは桃家タローさん宛てにメールを送るためのものである.コード内の[(1)]に入る正しいものを1つ次の記述の中から ...
- 确定比赛名次(map+邻接表 邻接表 拓扑结构 队列+邻接表)
确定比赛名次 Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submis ...
- extern外部方法使用C#简单样例
外部方法使用C#简单样例 1.添加引用using System.Runtime.InteropServices; 2.声明和实现的连接[DllImport("kernel32", ...
- [Oracle] - 性能优化工具(3) - ADDM
ADDM 通过检查和分析AWR获取的数据来推断Oracle数据库中可能的问题.并给出优化建议. 获取ADDM的方法例如以下: @?/rdbms/admin/addmrpt.sql 以下能够看一个样例: ...
- OpenCV学习(2)--基本数据结构
OpenCV的基本数据结构 CvPoint:表示图像中的点 CvPoint2D32f:二维空间中的点 CvPoint3D32f:三维空间中的点 这些都是结构体,并不是C++语言中的类,所以他们的构造函 ...
- jQuery和DOM对象之间的转换
jquery选择器得到的jquery对象和标准的 javascript中的document.getElementById()取得的dom对象是两种不同的对象类型,一般情况下,如S(’#id’)得到的是 ...
- PICT安装及使用
一:PICT安装 1.下载pict33.msi:http://vdisk.weibo.com/s/d6k2tcgXDa7Eq 2.安装: 二:PICT的使用 1.在F:\PICT 目录下,新建一个tx ...
- Sencha Touch 之 Ext.ComponentManager.get方法使用
HTML代码: <!doctype html> <html> <head> <meta charset="utf-8"> <t ...
- C 中注意的小问题
输入:char ch[100],gets(ch); scanf("%d",&in); char ch,ch=getchar(); VC: 所有变量声明放在所有操作前面: ...
- vmware 使用技巧
1.虚拟机如何进入BIOS界面? 方法: 1) 开机按F2 2) 若来不及按F2的话,可以通过以下 2. 如何让虚拟机进入安全模式? 方法:开机快速按F8 3. 当不能连接到vCenter Serve ...