回答:
C99 stdint.hはこれらを定義します。
int8_tint16_tint32_tuint8_tuint16_tuint32_tそして、アーキテクチャがそれらをサポートしている場合:
int64_tuint64_t他にもさまざまな整数のtypedefがありstdint.hます。
C99環境がない場合は、おそらく独自のtypedefを提供し、とにかくC99のtypedefを使用する必要があります。
(すなわちなし接尾辞)は、おそらくアプリケーション固有のものです。uint32uint64_t
stdint.hはそれらすべてを必要とします。
typedef uint32_t Uint32;、include / SDL_stdinc.h(SDLユーザーの場合)にそのようなエイリアスを定義します
これらの整数型はすべてで定義されています stdint.h
stdint.hC99標準を尊重しているなら、あなたはそれを得ると思います。
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"、そのファイルをgrepすると定義が生成されます。
_t上記の回答にリストされているように、標準であり、定義する必要があるのは、サフィックスを持つものだけです。
C99を使用している場合は、を含めてくださいstdint.h。ところで、64ビットタイプは、プロセッサがサポートしていれば存在します。
uint128_t場合は__SIZEOF_INT128__16以上(GCCと互換)に定義されています。これはx86_64 / amd64マシンで使用できますが、プロセッサーはそれをネイティブでサポートしていません。クレイだけがそのレジスターサイズを持っています、IIRC。
int_leastNN_t及びuint_leastNN_tためのNN8、16、32、及び64が常に存在しなければなりません。C99は、少なくとも64ビットの整数型をlong long必要とするため、少なくとも64ビットの整数型がない実装は許可されません。