关于网友提出的“进程之间是如何共享代码段的?”问题疑问,本网通过在网上对“进程之间是如何共享代码段的?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:进程之间是如何共享代码段的?
描述:如果一个程序运行了两个实例,那么有两个进程,这两个进程应该共享代码吧。
但是网上虚拟地址空间的布局中,每个进程都有代码段。那么进程是怎么共享代码的?难道是后来产生的进程的代码段指向前面产生进程的代码段?
解决方案1:如果一个程序运行了两个实例,很遗憾,这两个程序的代码并不会共享,因为程序代码在程序运行时就被装载到内存,第二个程序再启动时,系统没法判断也不会判断这个程序是否还是原来的程序(如果程序被更新或更改),所以仍然会把程序代码重新加载到内存的另一块区域。
代码的共享体现应该是链接库
中,特别是动态链接库
中。因为库被设计成动态链接的,所以程序可以在运行后再确定代码所在的内存地址,这也就能实现多个程序调用同一块代码了。
以上介绍了“进程之间是如何共享代码段的?”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1504198.html