对于一个相当模糊的用例,我想要一个(大)静态链接的Linux可执行文件,由一小段控制代码和大量静态(只读)数据组成.为了节省内存,是否有可能让加载程序只加载控制代码的各个部分,然后在需要时手动加载RO数据部分,并在处理完成后再次卸载它们?
这可能吗?
(我想数据流(在文件系统级别上)可以用来解决这个问题,但是我无法使用它们(EXT3),因为数据流容易丢失,所以分发会很棘手.)
解决方法:
这(很可能)已经为你照顾好了.
当然,真正的答案将取决于系统,但一般而言,现代操作系统(当然还有Linux)对可执行文件使用请求分页,因此实际上不会为您未引用的ELF文件的部分分配RAM.