问题
I am writing a program which if I compile on a Suse 10 32-bit system without adding the -m32
option and execute it on Suse 10 64-bit, it works fine.
In this case, is it not required for me to add the -m32
option?
Can we execute programs built on 32-bit systems directly on their 64-bit counterparts without any side-effects? Or are there any updates or changes required?
回答1:
There is no problems in running 32 bits executables on 64 bit OS (as long as 32 bit dynamic libraries are present and found).
-m32 is there to compile 32 bits objects on a compiler configured to compile 64 bits objects by default.
回答2:
As long as the OS supports both 32bit and 64bit programs (hint: not all do, such as OpenBSD) on a 64bit OS, then you shouldn't have any kind of problems as long as you have all of the 32bit dependencies for it..
来源:https://stackoverflow.com/questions/2426478/when-should-m32-option-of-gcc-be-used