admin管理员组

文章数量:1794759

Windows和Linux下的不同类型的大小

Windows和Linux下的不同类型的大小

Windows和Linux下的不同类型的大小
  • Windows
  • Linux
  • 指针
  • 其他
    • Win64
    • Win32
    • Linux64
  之前在书上看到long的大小是4字节,但在Linux下测了一下是8个字节,今天就完整地整理了一下Linux和Windows下不同类型的大小:

Windows

  不管是32位还是64位的Windows这几中常见类型的大小都是一样的:

size of int 4 size of long 4 size of short 2 size of long long 8 size of float 4 size of double 8 size of char 1 size of empty class 1 Linux

  64位的Linux这几中常见类型的大小:

size of int 4 size of long 8 size of short 2 size of long long 8 size of float 4 size of double 8 size of char 1 size of empty class 1

  在64位Linux和Windows下只有long的大小是不同的,64位Linux下long的大小为8字节,和long long一样,Windows下为4字节和int一样。但是在32位Linux下long的大小也仅有4字节。

  这里还要注意的一点是,空类的大小不是0而是1字节,因为不允许对象的大小为0,不同的对象必须要有不同的地址空间。

指针

  但是指针和以上的类型是不一样的,指针的大小是固定的不管指向哪一种类型,他不管在Linux还是Windows下大小都是一样的,仅在32位机器和64位机器上不同,在32位机器上为4 byte, 而64位机器上是8 byte。

其他 Win64 size of vector 32 size of set 24 size of pair 8 size of map 24 size of queue 40 size of string 40 Win32 size of vector 16 size of set 12 size of pair 8 size of map 12 size of queue 20 size of string 28 Linux64 size of vector 24 size of set 48 size of pair 8 size of map 48 size of queue 80 size of string 32

  有看到面经考到vector和pointer的大小,可以记一下vector在Win 64下32,Win 32是16,Linux是24;pointer在32和64位机器内分别是4和8。

  关于各类型大小的总结到此为止。

本文标签: 不同类型大小windowsLinux