在运行 64 位操作系统的 64 位系统上,如果我想运行 32 位程序,Ubuntu 提供了一个 32 位兼容性库,ia32-libs。我猜其他操作系统会提供类似的兼容性库。
我很想知道 32 位兼容性库究竟做了什么来提供兼容性?
最佳答案
它实际上不做任何事情 - 它只包含您可能想要调用的库函数的 32 位实现。例如,您需要这样一个库,以便您要调用的函数位于适当的指令集中并使用适当的 ABI。
当您在 64 位系统上运行 32 位进程时,操作系统会先将处理器置于 32 位模式,然后再切换上下文以运行您的程序。
关于c - 64 位系统上的 32 位兼容库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17197924/