bor*_*den 23 byte typedef objective-c ios
我在objective-c中使用哪一个(特别是在iOS上)会有所不同吗?我认为它来自从C和它的类型继承,以及继承从Mac OS,iOS系统是基于类型的,但我不知道我应该使用哪一个:
unsigned char
从......好......编译器?
uint8_t
来自stdint.h
UInt8
来自MacTypes.h
Byte
来自MacTypes.h
Bytef
来自zconf.h
我知道各种defs是出于可移植性的原因,并且使用类似的文字unsigned char
并不是一个好的未来想法(大小可能会改变,事情最终会像Windows API一样).我想就如何找到最适合我的用途的一些建议.如果我只是愚蠢的话,还是好舌头鞭挞......
编辑:只是为了更多的信息,如果我想要的东西总是 1字节,我应该使用uint8_t(看起来不会像这样的名字改变)?我想UInt8也不会改变,但我发现UInt32的定义因处理器是否为64位而有所不同.
进一步编辑:当我说字节时,我特别指的是我想要8位.我正在进行像素压缩操作(32位 - > 8位)用于磁盘存储.
小智 11
这完全无动于衷.无论你使用哪个,它最有可能最终成为一个unsigned char
.如果你想让它看起来不错,不过,我建议你使用uint8_t
的<stdint.h>
.
两者都不会随着架构而改变.char
始终为1个字节按C标准,这将是从一个用户的角度无法忍受如果在一实现中,UINT8突然变得16位长.
(但事实并非如此,char
要求是8位宽,只有当类型的名称表明它是8位长时,那么任何合理的实现确实会对它进行类型化.顺便提一下,一个字节(这char
是一个8位单位,即一个八位字节.)
归档时间: |
|
查看次数: |
7965 次 |
最近记录: |