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

编程知识 更新时间:2023-04-06 21:42:39

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。

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

更多推荐

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

本文发布于:2023-04-06 21:42:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/229ded9a58f5758387577b9d246607a6.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:不同类型   大小   Windows   Linux

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 50945文章数
  • 14阅读数
  • 0评论数