linux - linux如何同时支持32位和64位?还是 glibc 处理的东西?

标签 linux x86 64-bit 32bit-64bit libc

Linux 如何同时支持 32 位和 64 位?还是在 glibc 中处理了某些事情?

我运行的是 CentOS 5.3,它是一个“64 位”版本;尽管我为 64 位和 32 位构建东西。据我所知,Windows 应该有一个 32 位模拟器。 Linux 做同样的事情吗?是在用户空间还是内核空间?

如果 libc 处理它,它是否有点像模拟器说,我将链接 32 位应用程序,但与内核对话 64 位?

最佳答案

cpu 可以执行 64 位和 32 位指令,内核可以在模式之间切换。唯一的限制是您不能将 32 位程序链接到 64 位库,因此您必须同时安装 32 位和 64 位版本的 libc 等。

关于linux - linux如何同时支持32位和64位?还是 glibc 处理的东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1504256/

相关文章:

linux - 为什么在发送密码后使用 Expect 自动化 SFTP 会挂起?

x86 - 在 x86 机器码中调用绝对指针

c++ - 配置 Visual Studio 以创建 32 位和 64 位配置

c++ - Linphone 编译 - Mingw 64 位 - 未找到 GNU gettext 工具;国际工具所需

perl - 如何在 Windows 7 64 位上从 PERL 脚本创建 Windows 服务

linux - 捕获用户输入以运行脚本

linux - 使用 "cat > text.txt"写入文本文件时如何退格?

linux - 使用具有简单用户权限的/dev/ttyS0 之类的串行端口

x86 - 在AVX-512加载和存储中使用掩码寄存器时,是否会由于对被掩码元素的无效访问而引发故障?

c++ - 什么是 __asm volatile ("pause"::: "memory");做?