답변:
C99 stdint.h는 다음을 정의합니다.
int8_tint16_tint32_tuint8_tuint16_tuint32_t그리고 아키텍처가 지원하는 경우 :
int64_tuint64_t다른 다양한 정수 typedef stdint.h도 있습니다.
C99 환경없이 멈춘다면 아마도 고유 한 typedef를 제공하고 어쨌든 C99를 사용해야합니다.
uint32하고 uint64(즉,없는 _t접미사) 아마 응용 프로그램에만 적용됩니다.
stdint.h에는 모두 필요합니다.
typedef uint32_t Uint32;(당신이 SDL 사용자 인 경우) / SDL_stdinc.h을 포함에
이러한 정수 유형은 모두 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"있으며 해당 파일을 grepping 하면 정의가 생성됩니다.
_t위의 답변에 나열된 접미사 가있는 것입니다 .
C99를 사용하는 경우 stdint.h. BTW, 프로세서가 지원하는 경우 64 비트 유형이 있습니다.
uint128_tif 도 있습니다 __SIZEOF_INT128__(GCC 및 호환 가능). x86_64 / amd64 시스템에서 사용할 수 있지만 프로세서는 기본적으로 지원하지 않습니다. Cray만이 레지스터 크기 인 IIRC를 가지고 있습니다.
int_leastNN_t및uint_leastNN_t위해NN8, 16, 32, 64는 항상 존재해야합니다 . C99는 64 비트 이상의 정수 유형이없는 구현을 허용하지 않습니다long long.는 그 크기 이상이어야하기 때문입니다.