mah*_*esh 2 c c++ operating-system process
我想知道为什么代码段对于同一程序的不同实例是常见的.
对于Eg:考虑程序P1.exe正在运行,如果正在运行P1.exe的另一个副本,则代码段对于两个正在运行的实例都是通用的.为什么会这样?
答案将受到高度赞赏.
提前致谢.
如果有问题的代码段是从DLL加载的,则可能是操作系统很聪明并重新使用已加载的库.这是使用动态加载的库代码的核心要点之一,它允许代码在多个进程之间共享.
不确定Windows是否足够聪明,可以使用常规EXE文件的代码部分执行此操作,但如果可能的话,它会有意义.
它也可能是虚拟内存愚弄你; 两个进程可能看起来在同一地址上具有相同的内容,但该地址是虚拟的,因此它们实际上只是显示物理内存的映射.