linux – 按需加载/卸载ELF部分?

对于一个相当模糊的用例,我想要一个(大)静态链接的Linux可执行文件,由一小段控制代码和大量静态(只读)数据组成.为了节省内存,是否有可能让加载程序只加载控制代码的各个部分,然后在需要时手动加载RO数据部分,并在处理完成后再次卸载它们?

这可能吗?

(我想数据流(在文件系统级别上)可以用来解决这个问题,但是我无法使用它们(EXT3),因为数据流容易丢失,所以分发会很棘手.)

解决方法:

这(很可能)已经为你照顾好了.

当然,真正的答案将取决于系统,但一般而言,现代操作系统(当然还有Linux)对可执行文件使用请求分页,因此实际上不会为您未引用的ELF文件的部分分配RAM.

上一篇:linux – 使用$ORIGIN指定ELF二进制文件中的解释器不起作用


下一篇:加载的ELF中的挂钩和替换导出功能(.so共享库)