在我的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/