Nor*_*löw 5 debian library 32bit-64bit binary cpu-architecture
为什么在 Ubuntu 的 AMD64 64 位安装上有一个/usr/lib
和一个/usr/lib32
目录但只有一个/usr/bin
和没有/usr/bin32
目录?如果或何时 Debian/Ubuntu 开始在其 ELF 中支持多目标架构二进制文件,此目录分支是否会变得不必要?
这个想法是,您可能希望在系统上安装同一库的 32 位和 64 位版本,以容纳使用任一架构的二进制文件,而在两种不同的架构中拥有相同的二进制文件没有什么意义。
某些应用程序的指针非常密集,在这种情况下,为小型数据集运行 32 位版本可能会更有效,因为您可以节省内存并减少缓存未命中。对于 i386,这最多只能使用 3GB 的地址空间(或 2GB,取决于内核编译时选项)。
如果您遇到 32 位二进制文件更有意义的情况,您可以自己重新编译该二进制文件。然而,对于发行版来说,这是一个难以处理的极端情况。如果您觉得这个决定是错误的,您可以随时创建功能请求。
另一种方法是安装整个发行版的 32 位版本,并使用 64 位内核运行它。这样就可以正常工作,每个进程都可以访问 4GB 内存(而不是前面提到的 3GB 或更少),系统可以使用超过 4GB 的 RAM,并且内核不需要任何 32 位的技巧内核使用(例如PAE)。