我使用的是64位的windows 7。我不知道这台电脑上安装的gcc是32位还是64位的。(Windows 7支持32位和64位程序)。
ep6jt1vc1#
您可以检查gcc -v的输出,或者使用更直接的选项-dumpmachine。第一个选项允许您发现GCC是否支持multilib(以便它可以编译32位和64位二进制文件),第二个选项将只返回默认目标(如果我没有弄错的话)。
gcc -v
-dumpmachine
jm81lzqq2#
编写如下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位
2条答案
按热度按时间ep6jt1vc1#
您可以检查
gcc -v
的输出,或者使用更直接的选项-dumpmachine
。第一个选项允许您发现GCC是否支持multilib(以便它可以编译32位和64位二进制文件),第二个选项将只返回默认目标(如果我没有弄错的话)。jm81lzqq2#
编写如下C代码:
然后编译并运行
如果输出显示8,则编译器版本为64位,否则如果输出显示4,则编译器版本为32位,c指针的大小等于编译器版本
8表示8字节= 64位
4表示4个字节= 32位