我正在编写一个程序,如果我在Suse 10 32位系统上编译而不添加-m32
选项并在Suse 10 64位上执行它,它可以正常工作。
在这种情况下,我是否不需要添加-m32
选项?
我们可以直接在64位系统上执行基于32位系统构建的程序而不会产生任何副作用吗?或者是否需要更新或更改?
答案 0 :(得分:28)
在64位操作系统上运行32位可执行文件没有问题(只要存在并找到32位动态库)。
-m32用于在编译器上编译32位对象,默认情况下配置为编译64位对象。
答案 1 :(得分:10)
只要操作系统在64位操作系统上同时支持32位和64位程序(提示:并非所有程序都可以,例如OpenBSD),只要你拥有所有32位依赖项,就不应该有任何问题。对它..