Windows 如果内存中只有一个DLL副本,如何将其加载到应用程序';内存空间是多少?

Windows 如果内存中只有一个DLL副本,如何将其加载到应用程序';内存空间是多少?,windows,visual-studio,visual-c++,dll,dynamic-linking,Windows,Visual Studio,Visual C++,Dll,Dynamic Linking,该页第二段说: DLL不是独立的可执行文件。DLL在 调用它们的应用程序操作系统将DLL加载到 应用程序的内存空间。当应用程序 加载(隐式链接)或在运行时按需加载(显式链接) 链接)。DLL还可以方便地共享功能和资源 跨可执行文件。多个应用程序可以访问一个应用程序的内容 同时在内存中复制一个DLL 上面突出显示的句子正确吗?该陈述如何与中的第一个要点相协调,我将其内容复制如下: 在同一基址加载同一DLL的多个进程在物理内存中共享DLL的一个副本。这样做可以节省时间 系统内存和减少交换 总之,

该页第二段说:

DLL不是独立的可执行文件。DLL在 调用它们的应用程序操作系统将DLL加载到 应用程序的内存空间。当应用程序 加载(隐式链接)或在运行时按需加载(显式链接) 链接)。DLL还可以方便地共享功能和资源 跨可执行文件。多个应用程序可以访问一个应用程序的内容 同时在内存中复制一个DLL

上面突出显示的句子正确吗?该陈述如何与中的第一个要点相协调,我将其内容复制如下:

  • 在同一基址加载同一DLL的多个进程在物理内存中共享DLL的一个副本。这样做可以节省时间 系统内存和减少交换
总之,如果内存中有一个DLL副本,如何将其加载到应用程序的内存空间?

Windows是一个按需分页的虚拟内存操作系统。进程使用虚拟内存,物理内存中的代码可以映射到使用它的任何进程中。底层操作系统对象是一个内存映射文件,映射按需进行。加载DLL只需要保留地址空间和设置分页表。