对于一个相当晦涩的用例,我想要一个(大型)静态链接的 Linux 可执行文件,由一小段控制代码和大段静态(只读)数据组成。为了节省内存,是否可以让加载器仅加载控制代码的部分,然后根据需要手动加载 RO 数据的部分,并在处理完成后再次卸载它们?
这可能吗?
(我想数据流(在文件系统级别)可以用来解决这个问题,但它们对我来说不可用(EXT3),而且分发会很棘手,因为数据流很容易丢失。)
这(很可能)已经为您处理好了。
真正的答案当然取决于系统,但一般来说,现代操作系统(当然还有 Linux)对可执行文件使用需求分页,因此实际上不会为您未引用的 ELF 文件部分分配 RAM。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)