关于动态链接的装载时重定位
在《程序员的自我修养》7.3.2节中有这么一段话“动态链模块被装载映射到虚拟空间后,指令部分是再多个进程之间共享的,由于装载时重定位的方法能需要修改指令,所以没有办法做到同一份指令被多个进程共享,因为指令被重定位后对于每个进程来讲是不同的。”
对于这段话,我一直都不太明白,首先同一份指令应当是指的共享模块中的指令吧?如果是的话,那么各个进程无论将共享模块装载至进程虚拟地址空间的何处,只要在该进程装载时对共享模块中地址的引用执行重定位,即使装载的地址不一样,重定位之后也是各个进程的中的代码对共享模块引用地址的不同,而共享模块中的代码是不需要变化的呀。。并且通过页映射机制,不同进程中共享模块的页可以映射到内存中的同一页,这样不就实现了共享吗??
请问我上述的分析哪里有问题???