注册 登录
编程论坛 C++教室

32位和64问sizeof问题请教

ppppooiiuu 发布于 2018-01-18 02:11, 1581 次点击
int a=10;
printf("%d",sizeof(&a));
以上代码
在X86平台,在VS运行,返回4
在X64平台,在VS运行,返回8
但是我选择的是X64平台,生成EXE,直接打开EXE,返回的是4,有点奇怪,X64平台生成的不应该是8吗?
请问这是怎么回事呢?
3 回复
#2
rjsp2018-01-18 08:23
我也没听懂,首先什么叫“在VS运行”?VS是个集成开发环境,而非运行环境;VS是个编译器集合,你用的是VC呢,VB、C#?
其次“直接打开EXE,返回的是4”,你前面又说“返回8”,这里又说“返回的是4”,差别就在“直接打开”,那你得告诉大家 直接打开 是个什么操作
#3
ml2325282018-01-19 15:04
你估计打开了32位的exe。编译结束的时候,会把exe全路径输出。你找下64位exe在哪。
#4
dsxktop2018-01-19 15:17
是java吗?应该是各参数不一样吧,选择对应的虚拟机
1