4

共享库是因为它们是从磁盘上的同一个文件加载而共享的,还是因为它们被加载到内存中一次并且每个人都共享同一个内存区域而共享?在 Linux 中,它们是否被加载一次并几乎映射到每个进程空间?这是如何运作的?

编辑:当我说 shared 我想我的意思是动态链接,但如果有区别请告诉我。

4

1 回答 1

2

通常是后者(尽管$LD_PRELOAD改变了这一点;有关详细信息,请参见ld.so(8)手册页的ENVIRONMENT部分)。CPU TLB 用于将库的页面映射到应用程序的进程空间。

于 2012-05-16T02:23:21.937 回答