GCCには固定サイズの整数がありますか?
-
06-07-2019 - |
質問
MSVC ++コンパイラでは、特定のサイズの整数に__int8
、__int16
、__int32
および同様のタイプを使用できます。これは、カスタムファイル形式、ハードウェア制御データ構造などの低レベルのデータ構造を操作する必要があるアプリケーションに非常に役立ちます。
GCCコンパイラで使用できる類似の同等物はありますか?
解決
ISO標準Cは、C99標準から始まり、これらを定義する標準ヘッダー<stdint.h>
を追加します。
uint8_t - unsigned 8 bit
int8_t - signed 8 bit
uint16_t - unsigned 16 bit
int16_t - signed 16 bit
uint32_t - unsigned 32 bit
int32_t - signed 32 bit
uint64_t - unsigned 64 bit
int64_t - signed 64 bit
これらのタイプは常に使用しています。
これらの型は、実装が適切なサイズと特性を持つ事前定義型をサポートする場合にのみ定義されます(ほとんどの場合)。
(u)int_leastN_t
は、(u)int_fastN_t
(指定された幅以上の 型)および<=>(<!> quot; fastest <!> quot ;少なくとも指定された幅を持つ型);これらのタイプは必須です。
<=>をサポートしない古い実装を使用している場合、独自のロールを使用できます。 1つの実装は、 Doug Gwynの<!> quot; q8 <!> quot ; 。
所属していません StackOverflow