64位计算机c++中指针的大小

What the pointer size in 64 bits computer in C++?

本文关键字:指针 计算机 c++ 64位      更新时间:2023-10-16

我的电脑从32位变成了64位,我的操作系统是64位的Windows 7。我认为64位操作系统的指针应该是64位——8字节。然而,当我在c++中使用sizeof(void*)来获取点的大小时,结果是4。

为什么4 ? ?

您的可执行文件仍被编译为32位二进制文件。尝试将其编译为64位项目。

如果处理器在32位环境中模拟程序,操作系统对指针的内部大小没有影响…

在VS2010中,转到配置管理器,在'platform'下创建一个新条目,并选择x64(通常它是那里唯一的其他选项)

EDIT:另外,确保您将void*传递给sizeof()操作符。

您是在64位模式还是32位模式下编译?在Visual Studio中,您需要选择编译的CPU类型,默认可能是32位。

还有,确保你做了sizeof(void*)