Search code examples
gcccompiler-options

What's the differences between -m32, -m64, and nothing in gcc's options?


gcc -m32 main.cpp

gcc -m64 main.cpp

gcc main.cpp

What's the differences between -m32, -m64, and nothing in gcc's options?


Solution

  • 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.