104

uint32、uint64などのタイプを使用したソースコードをよく目にしますが、プログラマーがアプリケーションコードで定義する必要があるのか​​、それとも標準のlibヘッダーで定義するのか疑問に思います。

アプリケーションのソースコードにこれらのタイプを含めるための最良の方法は何ですか?

4

4 に答える 4

154

C99stdint.hはこれらを定義します:

  • int8_t
  • int16_t
  • int32_t
  • uint8_t
  • uint16_t
  • uint32_t

そして、アーキテクチャがそれらをサポートしている場合:

  • int64_t
  • uint64_t

他にもさまざまな整数typedefがありstdint.hます。

C99環境なしで立ち往生している場合は、おそらく独自のtypedefを提供し、とにかくC99のものを使用する必要があります。

uint32and uint64(つまり、接尾辞なし)_tは、おそらくアプリケーション固有です。

于 2011-05-16T05:14:33.747 に答える
12

これらの整数型はすべてで定義されていますstdint.h

于 2011-05-16T04:47:40.413 に答える
2

C99を使用している場合は、を含めてstdint.hください。ところで、64ビットタイプは、プロセッサがそれらをサポートしている場合に限ります。

于 2011-05-16T06:19:39.880 に答える
0

質問者は実際に(醜い)int16_t(など)ではなくint16(など)について質問しました。

標準のヘッダーはありません。また、Linuxの/ usr / include /フォルダーには、「_t」なしでヘッダーを定義するヘッダーはありません。

于 2018-04-06T14:05:59.737 に答える