Відповіді:
C99 stdint.hвизначає такі:
int8_tint16_tint32_tuint8_tuint16_tuint32_tІ, якщо архітектура їх підтримує:
int64_tuint64_tТакож є різні інші цілі типи дефісів stdint.h.
Якщо ви застрягли без середовища C99, то, ймовірно, вам слід надати свої власні typedefs і в будь-якому разі використовувати C99.
uint32І uint64(тобто без _tсуфікса), ймовірно , конкретне застосування.
stdint.hвимагає їх усіх.
typedef uint32_t Uint32;у include / SDL_stdinc.h (якщо ви користувач SDL)
Ці цілі типи всі визначені в stdint.h
stdint.hякщо дотримуєтесь стандарту C99.
stdint.h. Це повертає 0 хіти: grep uint32 /usr/lib/gcc/x86_64-linux-gnu/4.9/include/stdint.h | grep -v uint32_t.
#include "stdint-gcc.h", а прив'язка до цього файлу дає визначення.
_tсуфіксом, як зазначено у відповіді вище.
Якщо ви використовуєте C99, просто включіть stdint.h. До речі, 64-бітові типи існують, якщо процесор їх підтримує.
uint128_tif, __SIZEOF_INT128__який визначається рівним 16 або більше (GCC та сумісність). Він доступний на x86_64 / amd64, але процесор не підтримує його. Тільки Cray мають розмір регістра, IIRC.
int_leastNN_tіuint_leastNN_tдляNN8, 16, 32 і 64 повинні завжди існують . C99 не дозволяє реалізувати без цілого типу принаймні 64 біт, оскількиlong longпотрібно бути принаймні таким великим.