为了对庞大的源码项目进行分析,先对源码目录树作一个简单的介绍,粗略的了解一下各个模块的功能分布情况,chrome源代码src目录下的结构如下图:
app:该目录下的代码主要是和各个操作系统平台相关的应用上层代码的提炼。不同操作系统可能对应不同的c++实现文件。比如裁剪板操作、操作系统数据交换接口、资源管理等。代码量不大。
base:基础设施代码,该目录下的代码对理解chrome的基础架构设计是必不可少的,这里面是大量的工具性、框架性代码实现,比如对进程、线程、消息循环的统一封装,对字符串处理、c++对象生命周期管理、json解析、路径服务、日期时间、日志框架等。
breakpad:崩溃服务框架库,在程序发生异常时,对异常进行捕获后可以将崩溃现场数据发送给google进行分析。
build:编译构建相关的工具支持。

本文简要介绍了Chrome浏览器源代码的目录结构,包括app、base、breakpad、chrome、chrome_frame等多个关键模块的功能。base目录包含基础架构代码,如进程线程管理;chrome目录为浏览器主程序实现;breakpad负责崩溃服务;chrome_frame是针对IE的插件;net目录涉及网络协议实现;webkit是浏览器内核的封装层;v8是JavaScript引擎。整个源码结构清晰,有助于理解和分析。

最低0.47元/天 解锁文章





