c - gcc如何判断默认生成32位还是64位的可执行文件?

标签 c linux gcc solaris

在我的64位Solaris中,我的gcc默认会生成32位的可执行文件(生成64位的可执行文件需要加上“-m64”编译选项)。而在我的 64 位 Linux 中,我的 gcc 默认会生成 64 位可执行文件。我试图在 gcc website 中找到原因,但不幸的是,有太多相关选项(--with-arch、--with-cpu、--with-abi 等)。从文档中,我看不出哪个可以确定生成32位或64位可执行文件。

有人可以就这个问题给出一些建议吗?

最佳答案

这取决于编译器的安装方式,这实际上取决于发行版和可能的安装选项。如果有任何疑问和需要确定性,只需包含 -m 选项即可;当默认为 32 位时使用 -m32 并没有什么坏处,当默认为 64 位时使用 -m64 也是如此。

关于c - gcc如何判断默认生成32位还是64位的可执行文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25560539/

相关文章:

php - UTF-8贯穿始终

c++ - 什么是 Linux 的原生 GUI API?

交互式shell的Python配置

gcc - ELF文件中的共享库绝对路径

我可以使用 getchar() 清除 scanf 和 fgets 之间的缓冲区吗?

c - 在 C 中使用链表实现堆栈时出错

android - arm-linux-androideabi-g++ : -fuse-linker-plugin, 但找不到 liblto_plugin.so

类中的 C++ vector - 程序段错误

c - 从用户那里获取内存地址

c - 递归如何在二叉搜索树中工作?