【问题标题】:compiling application with gcc -m32 on 64-bit system在 64 位系统上使用 gcc -m32 编译应用程序
【发布时间】:2015-04-20 16:15:06
【问题描述】:

我试图了解开发在 64 位操作系统(具有 64 位架构)上运行的 Linux 应用程序的要求。 如果代码是为 32 位架构编写的,是否意味着在常规编译(gcc -m32)时它可以在 64 位系统操作系统上运行,没有任何问题?

谢谢你, 然

【问题讨论】:

    标签: linux gcc compilation 64-bit 32bit-64bit


    【解决方案1】:

    是的,它会的。唯一需要注意的是,您需要 32 位库来运行程序,并需要 32 位开发包来编译它。大多数发行版都提供了这些,并且安装起来也很简单。

    【讨论】:

    • 嗨,汤姆,首先感谢您。当我使用 -m64 编译时,我知道编译器会在编译过程中对 int、long 等进行解释,但它是否还会以某种方式将应用程序标记为 32 位应用程序(在 Windows 任务栏中,Windows 似乎知道是否程序是32位还是64位)
    • 是的,它记录在 ELF 中。您可以使用file 查看您是否拥有 32 位或 64 位可执行文件。
    • 嗨汤姆,你认为在 32 位操作系统 gcc(在 ubuntu 32 上)为 linux 64 位操作系统编译源代码应该有效吗?从之前的答案,我认为确实如此。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-02
    • 2023-03-20
    • 1970-01-01
    • 2012-12-09
    • 2015-01-31
    相关资源
    最近更新 更多