在 64 位 RHEL 上编译 32 位二进制文​​件

在 64 位 RHEL 上编译 32 位二进制文​​件

我有一台 64 位 RHEL 5.3 服务器。如果我将某个服务器软件编译为 32 位,内存效率会更高。有没有办法告诉 GCC 以 32 位为目标?

我只希望特定的软件是 32 位的,其他所有软件都应该保持 64 位。

该软件未打包在 yum 存储库中,所以我不能只执行“yum install 32-bit-version”。

答案1

如果您坚持自己编译,gcc 会接受该-m32选项,该选项应指示编译器生成 32 位对象/可执行文件。(但是,如果您可以按照 gekkz 建议的方式进行操作,请这样做)。

答案2

如果你正在使用,那么yum你应该这样做install my_software-1.2.2-1.i386。请注意,这是一个软件包示例,因为你必须提供实际的软件包名称和版本,并附加 i386。

答案3

正如 Joergensen 所说,您可以使用该-m32标志。这需要传递给编译器連接器。

另外,请确保您有正确的 32 位开发包。

相关内容