有所见 有所思 –dll的加载顺序

“demo1.exe”: 已加载“E:\网络监控\merge\v12.16.shx\debug\demo1.exe”,已加载符号。
“demo1.exe”: 已加载“C:\WINDOWS\system32\ntdll.dll”,未加载任何符号。
“demo1.exe”: 已加载“C:\WINDOWS\system32\kernel32.dll”,未加载任何符号。
“demo1.exe”: 已加载“C:\WINDOWS\WinSxS\x86_Microsoft.VC80.DebugMFC_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_c8452471\mfc80ud.dll”,已加载符号。
“demo1.exe”: 已加载“C:\WINDOWS\WinSxS\x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_f75eb16c\msvcr80d.dll”,已加载符号。
“demo1.exe”: 已加载“C:\WINDOWS\system32\msvcrt.dll”,未加载任何符号。
“demo1.exe”: 已加载“C:\WINDOWS\system32\gdi32.dll”,未加载任何符号。
“demo1.exe”: 已加载“C:\WINDOWS\system32\user32.dll”,未加载任何符号。
“demo1.exe”: 已加载“C:\WINDOWS\system32\shlwapi.dll”,未加载任何符号。“demo1.exe”: 已加载“C:\WINDOWS\WinSxS\x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_f75eb16c\msvcp80d.dll”,已加载符号。

 

“demo1.exe”: 已加载“C:\WINDOWS\system32\ws2_32.dll”,未加载任何符号。
“demo1.exe”: 已加载“C:\WINDOWS\system32\ws2help.dll”,未加载任何符号。
“demo1.exe”: 已加载“E:\网络监控\merge\v12.16.shx\demo1\LoggerSM.dll”,未加载任何符号。
“demo1.exe”: 已加载“E:\网络监控\merge\v12.16.shx\demo1\DeviceUpdaterSM.dll”,未加载任何符号。
“demo1.exe”: 已加载“C:\WINDOWS\system32\wsnmp32.dll”,未加载任何符号。
“demo1.exe”: 已加载“E:\网络监控\merge\v12.16.shx\demo1\USkin.dll”,未使用调试信息生成二进制文件。

 

“demo1.exe”: 已加载“D:\Program Files\360\360Safe\safemon\safemon.dll”,未加载任何符号。

 

“demo1.exe”: 已加载“C:\Program Files\Microsoft Office\Office12\GrooveShellExtensions.dll”,未加载任何符号。
“demo1.exe”: 已加载“C:\Program Files\Microsoft Office\Office12\GrooveUtil.dll”,未加载任何符号。

 

“demo1.exe”: 已卸载“C:\Program Files\Microsoft Office\Office12\GrooveShellExtensions.dll”

 

“demo1.exe”: 已加载“C:\Program Files\Microsoft Office\Office12\GrooveShellExtensions.dll”,未加载任何符号。

 

解释:

中间省略若干。

可以看见,,exe image加载后,就是nedll..然后是 kernel32.dll ..然后是mfc库。。 

一言:基础库先加上。。//mfc依赖的。

接着是自己程序 引入的。(看黑色加粗的部分)

然后是 系统目录,,环境变量中的。

 

有个问题的是:为什么 不是一个目录一个目录的加载完。而是 比如system32反复出现。

A:可能是 dll的内部依赖造成的。

posted @ 2011-12-19 15:52  os66  阅读(1866)  评论(0编辑  收藏  举报