Сижу вот, занимаюсь байто**ством. Вот некоторые модели данных.
ILP32 LP64 LLP64 ILP64
char 8 8 8 8
short 16 16 16 16
int 32 32 32 64
long 32 64 32 64
long long 64 64 64 64
size_t 32 64 64 64
pointer 32 64 64 64
Один чел мне говорит «Проверяй, если инт 8 байт, то юзай шорт». Однако, педивикии говорят что ляликс юзает LP64, а оффтоп LLP64, не понимаю где чел встретил ILP64 (или какую-то другую?).
Растолкуйте от чего отталкиваться? Какие модели данных надо учесть хотябы для самых распространенных случаев?
В самом идеале, конечно, свою прилагу я предполагаю запускать на линукс/фря/оффтоп 32/64. Вопрос вообще возник от того, что читаю бинарку из файла, и там может быть BE, а может быть LE byte order, плюс еще размер самих типов, и надо как-то это все перелопачивать под то, на чем я запущен в конкретный момент.
В данном случае вопрос касается только размера инта, но полюбому я зацеплюсь в каком-нибудь месте рогами во что-то еще. Хотя это уже будет другой вопрос.