我们有一个基于 32 位 CentOS 4.8(相当于 Red Hat Enterprise Linux (RHEL) 4 update 8)的商业应用程序。
默认的 gcc 编译器是 3.4.6
我们能够在 32 位和 64 位 CentOS/RHEL 4 和 5 上运行我们的二进制文件,包括完全未更新的 RHEL 4。
问题:如果我们更新到较新的 gcc 4 版本,二进制文件是否仍会在完全未更新的 RHEL 4 上运行
最新的 gcc 似乎是 4.5.1 和 4.4.5
(是的,有些客户安装了初始版本,在无法访问 Internet 的隔离网络上运行,并且从不从出厂版本更新。)
出现这个问题是因为我们现在正在为 amd64 移植到 64 位 FreeBSD 8.1,而默认的 gcc 是 gcc 4.2.1
最佳答案
只要您针对相同的运行时库(如 glibc)进行编译,就可以了。
关于portability - 在 CentOS/RHEL 4.8 上使用 gcc 4.x 构建的应用程序会在完全未更新的 CentOS/RHEL 4 上运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4010282/