这个问题一直困惑我,达人解惑

tabris17 2003-07-22 06:49:37
对于一些系统已加载的DLL,如KERNEL32.DLL,
如果一个程序运行使要使用到里面的API时,是将这个DLL加载到进程的内存中,还是将这个DLL的内存地址映射到进程空间里???或是我本来就没有理解对?

(900) C:\WINNT\system32\cmd.exe (0x4AD00000)
C:\WINNT\System32\ntdll.dll (0x77F80000)
C:\WINNT\system32\KERNEL32.dll (0x77E60000)
C:\WINNT\system32\USER32.dll (0x77DF0000)
C:\WINNT\system32\GDI32.DLL (0x77F40000)
C:\WINNT\system32\ADVAPI32.dll (0x77D90000)
C:\WINNT\system32\RPCRT4.DLL (0x786F0000)
C:\WINNT\system32\MSVCRT.dll (0x78000000)
C:\WINNT\System32\IMM32.DLL (0x75E00000)
...全文
44 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
tabris17 2003-07-23
  • 打赏
  • 举报
回复
也就是说已经存在于内存中的DLL就不必二次加载了??
ATField 2003-07-22
  • 打赏
  • 举报
回复
我觉得两个就是一个意思。
把DLL加载到程序的地址空间就是通过将DLL映射到程序的地址空间来实现的
ATField 2003-07-22
  • 打赏
  • 举报
回复
我觉得两者就是一个意思。
将DLL加载到程序地址空间中就是直接将DLL映射到程序的地址空间中来实现的

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧