Имеет ли значение то, что я использую в 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 снова). Мне бы хотелось, чтобы некоторые советы о том, как найти лучшие для моих целей. Или хороший язычок, если я просто глуп...
EDIT. Просто для получения дополнительной информации, если я хочу что-то, что всегда будет 1 байт, следует ли использовать uint8_t (похоже, это не изменится с таким именем)? Я хотел бы думать, что UInt8 тоже не изменится, но я вижу, что определение UInt32 зависит от того, является ли процессор 64-разрядным.
ДАЛЬНЕЙШЕЕ ИЗОБРАЖЕНИЕ. Когда я говорю байт, я имею в виду, что я хочу 8 бит. Я выполняю операции сжатия пикселей (32 бита → 8 бит) для хранения на диске.