[Chrome源码阅读]Chrome启动代码流程1

Chrome启动代码流程:(v2.0版,Windows平台)

应用程序启动过程:
1. WinMain函数为入口点,定义在文件\chrome\app\chrome_exe_main.cc文件中(位于chrome_exe工程项目中)
2. WinMain从注册表中找到当前版本的子目录,然后装载chrome.dll文件。如果没找到,则直接从当前exe目录查找dll文件,并装载。
3. 直接从chrome.dll中找到函数ChromeMain,然后调用它。ChromeMain函数定义在\chrome\app\chrome_dll_main.cc文件中,位于chrome_dll工程项目中。
 
HINSTANCE dll_handle = ::LoadLibraryEx (dll_name, NULL,
                                         LOAD_WITH_ALTERED_SEARCH_PATH);

  // Initialize the crash reporter.
  InitCrashReporter( client_util::GetDLLPath (dll_name, dll_path));

  bool exit_now = true ;
  if ( ShowRestartDialogIfCrashed(&exit_now )) {
    // We have restarted because of a previous crash. The user might
    // decide that he does not want to continue.
    if ( exit_now)
      return ResultCodes ::NORMAL_EXIT;
  }

  if ( NULL != dll_handle ) {
    client_util:: DLL_MAIN entry = reinterpret_cast< client_util::DLL_MAIN >(
        :: GetProcAddress(dll_handle , "ChromeMain"));
    if ( NULL != entry )
      return (entry )(instance, & sandbox_info, command_line );
  }

4. ChromeMain函数做一些通用组件的初始化工作,之后则根据命令行中的参数选项,要么调用RenderMain,要么调用BrowserMain函数,或者调用WorkMain或者PluginMain函数:
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值