gpt4 book ai didi

linux - 在 Linux 中使用 --image-base 确保程序加载低于 4 GB

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:26:34 25 4
gpt4 key购买 nike

我试图确保在 4 GB 的物理内存中加载特定的二进制文件。在 LD 选项中,我看到了 --image-base。文件说:[此选项特定于链接器的 i386 PE 目标端口]

在 Linux 上,如果我使用此选项,它会显示无法识别的选项“--image-base”。

有什么方法可以确保特定二进制文件在 Linux 上加载到 4 GB 以下?

最佳答案

I'm trying to ensure a particular binary loads within 4 GB of physical memory.

假设您谈论的是用户级(应用程序)代码,而不是 Linux 内核,您可以确保没有物理内存。您只能确保有关虚拟 内存的一些事情。

如果您使用的是 32 位系统,您的问题也没有意义,因为在这种系统上所有内存都低于 4GB。

因此,您的问题似乎是:“我如何在 64 位 Linux 系统上链接可执行文件,以便它在 0x100000000 以下加载?”

假设您使用的是 x86_64,答案是:默认链接选项已经对主要可执行文件执行此操作(尽管不是共享库),因此您不需要做任何特别的事情。如果您希望所有 代码在 4GB 边界下加载,请使用 -static 标志链接您的应用程序(但要注意:由于多种原因,这样做可能不起作用,并且强加您的二进制文件也有许可证限制)。

关于linux - 在 Linux 中使用 --image-base 确保程序加载低于 4 GB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11463070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com