Respostas:
O C99 stdint.h
define estes:
int8_t
int16_t
int32_t
uint8_t
uint16_t
uint32_t
E, se a arquitetura os suportar:
int64_t
uint64_t
Existem vários outros typedefs inteiros stdint.h
também.
Se você não tiver um ambiente C99, provavelmente deverá fornecer seus próprios typedefs e usar os C99 de qualquer maneira.
O uint32
e uint64
(ou seja, sem o _t
sufixo) são provavelmente específicos do aplicativo.
stdint.h
requer todos eles.
typedef uint32_t Uint32;
em include / SDL_stdinc.h (se você for um usuário SDL)
Esses tipos inteiros são todos definidos em stdint.h
stdint.h
se respeitar o padrão C99.
stdint.h
. Isso retorna 0 Hits: grep uint32 /usr/lib/gcc/x86_64-linux-gnu/4.9/include/stdint.h | grep -v uint32_t
.
#include "stdint-gcc.h"
, e grepping esse arquivo produz as definições.
_t
sufixo, conforme listado na resposta acima.
Se você estiver usando o C99, apenas inclua stdint.h
. BTW, os tipos de 64 bits existem se o processador os suportar.
uint128_t
if __SIZEOF_INT128__
definido para 16 ou superior (GCC e compatíveis). Está disponível em máquinas x86_64 / amd64, mas o processador não oferece suporte nativo. Apenas Cray tem esse tamanho de registro, IIRC.
int_leastNN_t
euint_leastNN_t
paraNN
8, 16, 32 e 64 devem sempre existir . C99 não permite implementações sem um tipo de inteiro de pelo menos 64 bits, uma vez quelong long
é necessário ter pelo menos esse tamanho.