gpt4 book ai didi

c++ - DLL如何映射到当前程序的虚拟地址空间

转载 作者:太空狗 更新时间:2023-10-29 23:14:48 36 4
gpt4 key购买 nike

当我在程序中加载 DLL 时,它是如何在内存中发生的?它会加载到我的虚拟地址空间中吗?如果是,文本和数据段存储在哪里?我有一个正在维护的 32 位程序,它使用大部分可用堆用于图像处理例程,我想知道我应该担心加载本身可能占用大量空间的 DLL 的程度。

最佳答案

是的:您的进程需要访问的所有内容都必须在其地址空间中。这适用于您的代码和您的数据。

在这里您可以找到更多关于 anatomy of process memory and adress space 的信息这里解释了dll are loaded into the virtual adress space .

备注:dll 可能会在多个进程之间共享:操作系统仅在内存中加载一次。但是使用它的每个进程都可能在其自己的虚拟地址空间中的不同位置看到它(另请参见关于相对虚拟地址的 SO answer)。

关于c++ - DLL如何映射到当前程序的虚拟地址空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31977521/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com