Respuestas:
El C99 stdint.hdefine estos:
int8_tint16_tint32_tuint8_tuint16_tuint32_tY, si la arquitectura los admite:
int64_tuint64_tTambién hay otras definiciones de tipos enteros stdint.h.
Si está atascado sin un entorno C99, probablemente debería proporcionar sus propias definiciones de tipo y usar las C99 de todos modos.
Los uint32y uint64(es decir, sin el _tsufijo) son probablemente específicos de la aplicación.
stdint.hrequiere todos.
typedef uint32_t Uint32;en include / SDL_stdinc.h (si es usuario de SDL)
Todos esos tipos de enteros están definidos en stdint.h
stdint.hsi respetas el estándar C99.
stdint.h. Esto devuelve 0 hits: grep uint32 /usr/lib/gcc/x86_64-linux-gnu/4.9/include/stdint.h | grep -v uint32_t.
#include "stdint-gcc.h", y grepping ese archivo produce las definiciones.
_tsufijo, como se enumera en la respuesta anterior.
Si está utilizando C99 solo incluya stdint.h. Por cierto, los tipos de 64 bits están ahí si el procesador los admite.
uint128_tif __SIZEOF_INT128__definido como 16 o mayor (GCC y compatibles). Está disponible en máquinas x86_64 / amd64, pero el procesador no lo admite de forma nativa. Solo los Cray tienen ese tamaño de registro, IIRC.
int_leastNN_tyuint_leastNN_tparaNN8, 16, 32 y 64 siempre deben existir . C99 no permite implementaciones sin un tipo entero de al menos 64 bits, ya quelong longse requiere que sea al menos así de grande.