社区
进程/线程/DLL
帖子详情
dll(动态链接库)为什么能被很多进程共享
chgsnake
2003-04-04 09:45:48
很多文章都说,动态链接库放入内存,就可以被多个程序共享。然而,据我所知,当应用程序运行时,dll被映射到调用进程的地址空间,好像是各个进程的私有空间,这不是会有很多的拷贝么。这岂不是矛盾?
...全文
122
7
打赏
收藏
dll(动态链接库)为什么能被很多进程共享
很多文章都说,动态链接库放入内存,就可以被多个程序共享。然而,据我所知,当应用程序运行时,dll被映射到调用进程的地址空间,好像是各个进程的私有空间,这不是会有很多的拷贝么。这岂不是矛盾?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
whoo
2003-07-08
打赏
举报
回复
代码是共享的(地址映射一下而已。), 数据是各自的。
dll中的全局东东不会被弄乱,因为进程间是无关的。
采用某些手法后,dll中的某些全局东东也是可以快进程的。
afc
2003-07-08
打赏
举报
回复
DLL中只读的部分(比如代码,const变量等)只有一份,程序要修改的部分每个进程各有一份独立的拷贝
chgsnake
2003-07-08
打赏
举报
回复
那么dll中的一些全局的东西不会被各个进程弄乱吧
sxmzmxh
2003-07-08
打赏
举报
回复
也就是说,多个进程的虚拟地址映射到相同的物理地址。
freewing
2003-07-07
打赏
举报
回复
各个进程有的只是一些私有的局部的东西
afc
2003-07-07
打赏
举报
回复
DLL加载到一个内存地址,然后通过硬件将此地址映射到各个使用此DLL的多个进程的私有空间,实际内存中只会有一份拷贝
luwenguang
2003-07-07
打赏
举报
回复
相同的代码可以放在 很多个格子里面啊。
dll就是一段代码,一个进程就是一个格子。
多个进程间
共享
动态链接库
的原理
为什么一个进程用完一个
动态链接库
以后另一个进程还可以继续使用呢?当时回答的很是笼统,只说对了答案的一半,现在就在这里好好总结一下吧! 前面我们已经说过进程间的通信有好几种方式,其实现在我们讲的这种动态...
多进程
共享
动态链接库
的原理
多进程
共享
动态链接库
的原理 ...
多进程
共享
动态链接库
的原理 当多个进程
共享
dll
时,其实内存中只保留一份
dll
代码,而每个进程调用
dll
的导出函数或类等等时是单独在进程
dll
动态链接库
文件编写
1.
动态链接库
(
dll
)概述 没接触
dll
之前觉得它很神秘,就像是一个黑盒子,既不能直接运行,也不能接收消息。它们是一些独立的文件,其中包含能被可执行程序或其他
dll
调用来完成某项工作的函数,只有在其他模块...
动态链接库
与
共享
内存:
我们知道,
动态链接库
(在windows上表现为.
dll
,在linux下表现为.so)采用的是延迟加载机制,即程序在运行的过程中在被调用的时候才会被加载。一个动态库在内存中只存在一份,可以被多个进程
共享
。这样做很明显可以...
DLL
-多个进程间
共享
动态链接库
的原理
为什么一个进程用完一个
动态链接库
以后另一个进程还可以继续使用呢?当时回答的很是笼统,只说对了答案的一半,现在就在这里好好总结一下吧! 前面我们已经说过进程间的通信有好几种方式,其实现在我们讲的这种动态...
进程/线程/DLL
15,471
社区成员
49,181
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章