一int考虑什么类型的多少字节

一int表示的字节数?

问题是,我们经常得到的答案4.

但int究竟占多少个字节,却跟你的机器环境有关.

As you can see, the typical data type sizes match the ILP32LL model, which is what most compilers adhere to on 32-bit platforms. The LP64 model is the de facto standard for compilers that generate code for 64-bit platforms.

近期在一本有关代码审计的书上看到如上解释.这里非常好的解释了int究竟应该占多少个字节.

并且从他的角度来看是编译器去适应平台.所以真正决定int占多少字节取决于你的device platforms.

事实上不管哪种模型short和char不管哪种model下都保持一致.

我们见得最多的就是ILP32LL模型.这样的模型下int和long已经pointer占4个字节 long long占8个字节.


PS:这个表非常easy记,中间的图你是64bit或32bit机.前I表示int,L表示long,LL表示long long,P说pointer.

位于表示与数字中间片的类型前面bit一致性数.对于一个样本:ILP32LL 这是ILP这是32地点,LL这是64地点.


原文地址:https://www.cnblogs.com/lcchuguo/p/4581708.html