【问题标题】:32 bit compatibility library on 64 bit system64 位系统上的 32 位兼容性库
【发布时间】:2013-06-19 17:50:17
【问题描述】:

在运行 64 位操作系统的 64 位系统上,如果我想运行 32 位程序,Ubuntu 提供了 32 位兼容性库 ia32-libs。我猜其他操作系统也会提供类似的兼容性库。

我很想知道 32 位兼容性库究竟是做什么来提供兼容性的?

【问题讨论】:

    标签: c linux ubuntu 64-bit


    【解决方案1】:

    它并没有真正任何事情——它只包含您可能想要调用的库函数的 32 位实现。例如,您需要这样一个库,以便您要调用的函数位于适当的指令集中并使用适当的 ABI。

    当您在 64 位系统上运行 32 位进程时,操作系统会在切换上下文以运行您的程序之前将处理器置于 32 位模式。

    【讨论】:

    • 我的程序可能链接了许多库。 ia32-libs 如何为所有这些库提供 32 位版本?或者它是否为一组标准库提供了 32 位等效项,如果我的程序使用 ia32-libs 未处理的库,我必须自己获取该库的 32 位版本?
    • ia32-libs 大概只提供系统库(libc、libm 和其他一些)。如果您想将您的程序与其他库链接,则必须按照您的建议自行处理。
    猜你喜欢
    • 2011-06-30
    • 2023-03-30
    • 2010-10-21
    • 1970-01-01
    • 2021-12-22
    • 1970-01-01
    • 2013-10-21
    • 2016-02-28
    • 2013-03-12
    相关资源
    最近更新 更多