我如何知道gcc的版本是64位还是32位?

7

我正在使用64位的Windows 7操作系统。我不知道在这台电脑上安装的gcc是32位还是64位。(Windows 7同时支持32位和64位程序)。


谢谢。那个有效!我一直在尝试gcc --version,但是无法弄清楚。这是我得到的信息,结果是32位gcc: 目标:x86_64-w64-mingw32 线程模型:win32 gcc版本4.7.0 20111220(实验性)(GCC) - Nick
2
相反,那正是一个64位版本(x86-_64)... - user529758
啊,我的错误。我还有很多需要学习的地方。再次感谢!你立刻回答了我的问题,我希望我能将这个标记为正确答案。 - Nick
2个回答

11
你可以检查 gcc -v 的输出,或者使用更直接的选项 -dumpmachine。第一种选项允许你发现 GCC 是否支持 multilib(这样它就可以编译 32 位和 64 位二进制文件),第二种选项只会返回默认目标(如果我没记错的话)。

2
只是为了补充一些细节...我已经在Windows上使用gcc -dumpmachine进行了测试。在32位系统中,它显示mingw32,在64位系统中显示x86_64-w64-mingw32。 - Luis Cabrera Benito

0

请编写以下 C 代码:

#include<stdio.h>
#include<stdlib.h>
void main(){
    int*pointer;
    printf("%d", sizeof(pointer));
    
}

然后编译并运行此程序

如果输出显示为8,则编译器版本为64位; 否则,如果输出显示为4,则编译器版本为32位; C指针的大小等于编译器版本。

8表示8字节= 64位。

4表示4字节= 32位。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接