查看chrome.exe的以来文件可以得到下面这个列面,大部分是在%systemroot%/system32下面的系统dll文件,只有两个是chromium自己生成的:base.dll, content.dll
SHLWAPI.dll =======> Win
KERNEL32.dll =======> Win
base.dll ***** Chromium
content.dll ***** Chromium
MSVCP100D.dll =======> Win
MSVCR100D.dll =======> Win
USERENV.dll =======> Win
WTSAPI32.dll =======> Win
ADVAPI32.dll =======> Win
USER32.dll =======> Win
SHELL32.dll =======> Win
ole32.dll =======> Win
OLEAUT32.dll =======> Win
关于编译器对于C/C++函数的修饰,参见http://silverw0396.iteye.com/blog/90690
base.dll依赖的都是windows系统提供的dll,但是content.dll会依赖很多chromium自己生成的dll。
还能看到chrome.exe的入口函数式wWinMain, 在chrome/app/chrome_exe_main_win.cc文件里面。
wWinMain->RunChrome:MainDllLoader* loader = MakeMainDllLoader(); 会加载chrome.dll并拿到它的entry_point。
entry_point就是chrome.dll的ChromeMain函数,会直接call content::ContentMain.