-m32、-m64 和 gcc 选项中的任何内容有啥区别?

Posted

技术标签:

【中文标题】-m32、-m64 和 gcc 选项中的任何内容有啥区别?【英文标题】:What's the differences between -m32, -m64, and nothing in gcc's options?-m32、-m64 和 gcc 选项中的任何内容有什么区别? 【发布时间】:2016-11-15 14:22:34 【问题描述】:
gcc -m32 main.cpp

gcc -m64 main.cpp

gcc main.cpp

gcc的选项中-m32-m64nothing有什么区别?

【问题讨论】:

您可以运行man gcc 来寻找答案,或者运行read here。使用的默认标志取决于编译器在构建时的配置方式,通常暗示 -m64 用于 64 位环境。 【参考方案1】:

参考gcc手册页[here],表示

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

【讨论】:

以上是关于-m32、-m64 和 gcc 选项中的任何内容有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

gcc选项

GCC 警告选项 -Werror

GCC 优化选项

展开 gcc 编译器优化

将 GCC 版本升级到发行版附带的版本之外是不是有任何问题?

我可以使用 javascript 中的值以外的任何内容设置选择选项吗