小编Nav*_* Ht的帖子

加载共享库和 RAM 使用

我想知道 Linux 管理共享库的方式。(实际上,我指的是 Maemo Fremantle,它是 2009 年发布的基于 Debian 的发行版,运行在 256MB RAM 上)。

假设我们有两个可执行文件链接到 libQtCore.so.4 并使用其符号(使用其类和函数)。为简单起见,我们称它们为ab。我们假设两个可执行文件都链接到相同的库。

首先我们启动a. 必须加载库。它是整体加载还是仅在需要的部分加载到内存中(因为我们不使用每个类,只加载有关所用类的代码)?

然后我们启动b. 我们假设它a仍在运行。b也链接到 libQtCore.so.4 并使用一些使用的类a,但也使用a. 库是否会被双重加载(分别为a和单独为b)?或者他们会使用 RAM 中已有的相同对象。如果不b使用新符号并且a已经在运行,共享库使用的 RAM 会增加吗?(或者差异会微不足道)

memory libraries executable ram

48
推荐指数
1
解决办法
3万
查看次数

标签 统计

executable ×1

libraries ×1

memory ×1

ram ×1