关于Linux的二进制兼容性

use*_*453 4 c++ linux gcc binary-compatibility

如果我在 Ubuntu 上得到一些由 GCC 4.8 构建的 C++ 代码,该代码没有 GUI/界面,仅调用标准 Linux 库,那么该二进制文件可以在 RHEL 5/6 上完美运行,并且可以与更旧的 GCC 一起完美运行吗?

n. *_* m. 5

一般情况下是不能的。它会抱怨 libc 太旧了。

如果您静态链接 libstdc++ 并小心避免较新的 glibc 功能,您也许能够摆脱它。但后者并不总是可能的。libc 的静态链接不受官方支持,可能对您有用,也可能不起作用。