LINUX.ORG.RU

История изменений

Исправление kvpfs, (текущая версия) :

Если ты уверен что твоему коду хватит и 16 битного инта, почему бы не использовать int16?

Потому что его может вовсе не быть на данной архитектуре? Для примера

char, signed char    16 bits
pointers (data)
  small memory mode  16 bits
  large memory mode  23 bits
pointers (function)  24 bits
long long            40 bits

Note: C55x Byte is 16 Bits
By ISO C definition, the size of operator yields the number of bytes required
to store an object. ISO further stipulates that when sizeof is applied to char,
the result is 1. Since the C55x char is 16 bits (to make it separately addressable), a byte is also 16 bits. This yields results you may not expect; for example, sizeof (int) == 1 (not 2). C55x bytes and words are equivalent (16 bits).

Оно просто не умеет читать меньше машинного слова. Правда кривой long long, не осилила эта железка минимальных требования по размеру. Говорят, что есть какие-то DSP с byte == 32 бита.

Исходная версия kvpfs, :

Если ты уверен что твоему коду хватит и 16 битного инта, почему бы не использовать int16?

Потому что его может вовсе не быть на данной архитектуре? Для примера

char, signed char    16 bits
pointers (data)
  small memory mode  16 bits
  large memory mode  23 bits
pointers (function)  24 bits
long long            40 bits

Note: C55x Byte is 16 Bits
By ISO C definition, the size of operator yields the number of bytes required
to store an object. ISO further stipulates that when sizeof is applied to char,
the result is 1. Since the C55x char is 16 bits (to make it separately addressable), a byte is also 16 bits. This yields results you may not expect; for example, sizeof (int) == 1 (not 2). C55x bytes and words are equivalent (16 bits).

Оно просто не умеет читать меньше машинного слова. Правда кривой long long, не осилила эта железка минимальных требования по размеру. Говорят, что есть какие-то DSP с byte == 32.