Chrome是一个单一的可执行程序。它清楚如何运行其它进程。
下面是chrome启动的概述:
1. 首先,chrome有一个平台相关的入口点:在windows上是wWinMain();linux上则是main()。入口点位于chrome/app/chrome_exe_main_*。在Mac和Windows平台上,这个方法会加载其它模块(参见后续描述)。在linux方法则做的事情比较少,主要的工作在ChromeMain()中。
2. ChromeMain()位于chrome/app/chrome_main*。交叉平台代码均在这里面。比如,在这里,我们初始化日志模块和ICU。然后,我们检测—process-type的值,根据它的值做出适当的切换。
3. process-type特定的主方法是BrowserMani()或者RendererMain()。
平台相关入口
Windows
在Windows上, Chrome编译成DLL库,sWinMain会加载chrome.dll。
Mac
Linux