zoukankan      html  css  js  c++  java
  • 关于指针类型占用的字节数

    如果CPU是32位,内存是CPU能够直接访问的区域,CPU每次处理的数据也是32位,那CPU能够直接访问的内存大小就是2的32次方,也就是4GB,所以一般我们实用的台式机大多数的内存上线都是4GB.

     一个地址是32位,任何指针都是一个地址,所以就是占用4byte(32位),在不同的硬件平台上,指针变量占用的内存大小与其地址值的范围大小成正比。

    但是实际上我们在window下利用VC或者VS编译器写代码时,有可能会出现这样的情况:比如我们的CPU硬件是64位的,操作系统也是64位的,但是由于vs建立的工程用的是win32,对应于32位的编译器,则所用到的指针类型实际上还是4个字节,即为32位;如果将VS工程配置为win64,则可以得到占用8个字节的指针,这个是可以试验测试的。

    拓展内容:关于扩展内存条,目前一般的计算机CPU都是64位的,而计算机的内存是由操作系统来管理的,因此可以扩展内存条的最大宽度决定于计算机操作系统的位数,例如:一台CPU为64位的计算机上,安装了一个XP系统(32位),则可以扩展的最大的内存空间就是2的32次方,也就是4GB(实际上,真正可以访问的内存应该比这个小,也就3点几个G)。

    如何查看计算机CPU的位数和操作系统的位数。在cmd命令窗口内输入systemInfo,如此就可以查看如下窗口:特别注意下“系统类型”、“处理器”分别对应了计算机操作系统和处理器CPU的位数,其中X86说明是32位的,X64说明是64位的。

    (额额额,好桑心,传了半天图片总是显示不鸟)

     

  • 相关阅读:
    基于centos的freeradius高可用lvs(UDP)
    sql server 2012的AlwaysOn高可用
    python基础题型一
    用户访一个APP或者网页流程示意图
    DNS解析流程
    crontab的定时任务实例
    Xcode设置
    Nvidia Nsight + .NET
    C++ Pointer-to-Member Selector
    C++11
  • 原文地址:https://www.cnblogs.com/jiayouwyhit/p/3241857.html
Copyright © 2011-2022 走看看