gcc -m32 main.cpp
gcc -m64 main.cpp
gcc main.cpp
What's the differences between -m32
, -m64
, and nothing
in gcc's options?
Refer to gcc Manual Page [here], it indicates
-m32 -m64 Generate code for a 32-bit or 64-bit environment.
The 32-bit environment sets int, long and pointer to 32 bits and
generates code that runs on any i386 system.
The 64-bit environment sets int to 32 bits and long and pointer to
64 bits and generates code for AMD 's x86-64 architecture.
For darwin only the -m64 option turns off the -fno-pic and -mdynamic-no-pic options.