什么时候应该使用gcc的-m32选项?

时间:2010-03-11 15:56:25

标签: c gcc 32bit-64bit

我正在编写一个程序,如果我在Suse 10 32位系统上编译而不添加-m32选项并在Suse 10 64位上执行它,它可以正常工作。

在这种情况下,我是否不需要添加-m32选项?

我们可以直接在64位系统上执行基于32位系统构建的程序而不会产生任何副作用吗?或者是否需要更新或更改?

2 个答案:

答案 0 :(得分:28)

在64位操作系统上运行32位可执行文件没有问题(只要存在并找到32位动态库)。

-m32用于在编译器上编译32位对象,默认情况下配置为编译64位对象。

答案 1 :(得分:10)

只要操作系统在64位操作系统上同时支持32位和64位程序(提示:并非所有程序都可以,例如OpenBSD),只要你拥有所有32位依赖项,就不应该有任何问题。对它..