请教一个C++问题

请教一个C++问题,64位系统的指针大小也是4字节,也就是32位,那么指针如何访问大于4字节的地址
全部评论
不不不,64位指针是8字节的,你前提就错了
点赞 回复 分享
发布于 2018-10-23 18:49
你编译器是32位模式吧
点赞 回复 分享
发布于 2018-10-23 17:47
操作系统和应用程序又不一样,64位操作系统跑32位应用程序是没问题的。同一块寄存器,64位都用上就叫rax,32位就叫eax。指针的多少是跟着编译走的,32位应用程序的地址空间就是那么大,超是超不出了。而且还有什么叫“大于4字节的地址”,是虚拟地址还是物理地址?
点赞 回复 分享
发布于 2018-10-23 18:55
64位的指针就是64位的。 不过64位的Windows可以运行32位程序倒是没问题,此时虚拟地址空间就是4GB(系统部分也算上)。你的程序应该是编译为32位了。 32位的Windows其实也是可以通过AWE访问大于4GB的地址空间的,只是需要手动管理内存页面。
点赞 回复 分享
发布于 2018-10-23 19:05
64位向下兼容的,你编译的时候可以选以32位编译也可以选64位编译。
点赞 回复 分享
发布于 2018-10-23 19:48

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务