Linux编译在x86和x64上运行的简单程序

时间:2014-02-11 10:06:35

标签: c linux 64-bit 32-bit

如何在32位系统上编译它,以便它可以在64位系统下向后兼容运行?我知道可以这样做,因为Adobe,Dropbox和其他公司都有这样的二进制文件。我应该如何动态,静态地链接它们?静态只有一些库和其他动态?

我说的是一个简单的代码:

int main() {
  printf("Hello world!\n");
}

谢谢!

2 个答案:

答案 0 :(得分:3)

常。然后在64位系统上安装32位库。

答案 1 :(得分:2)

通常,您要编译两个版本,或者只编译32位版本,并要求用户安装32位库。

您可以通过向每个命令添加-m32来告诉GCC编译32位。请注意,这需要一个multilib编译器,您需要安装必要的lib32 *文件。