动态库被多个程度调用时是如何运行的

动态库被多个程度调用时是如何运行的

动态库被多个程度调用时是怎么运行的
请教一个关于动态链接库的问题,当动态链接库被多个程序同时调用时,数据是如何做到互不相干的呢?

主要是利用虚拟内存,它允许库例程的物理内存安全地在多个独立用户空间共享。
代码段通常被使用进程所共享,也就是说它们在物理内存中占据一个地方。
数据段通常是私有的,每个使用进程都有自己的数据副本。

补充一下:

DLL可以包含全局数据及局部数据

  变量范围DLL变量的默认范围与应用程序所声明的变量作用域相同,
DLL源文件中的全局变量对于使用DLL的每个进程是全部可见的。

静态变量受限于声明所在块范畴。默认情况下,每个进程具有自己的DLL全局变量及静态变量实例。

小结:数据段也有细分

动态库被多个程度调用时是如何运行的

相关文章:

你感兴趣的文章:

标签云: