最近、次のようなデータ型を含むプログラムに出くわしました。
uint32_t, uint32, uint64 etc.
変更を加えずにWindows7(32ビット)でプログラムを実行できますか?私はMingWでCode::Blocks10.05を使用しています。
変更が必要な場合、どのデータ型でそれらを置き換えることができますか?
また、Cのどの標準がuint32_t、uint32などを定義しているのか知りたいですか?いわゆるgccCですか?
最近、次のようなデータ型を含むプログラムに出くわしました。
uint32_t, uint32, uint64 etc.
変更を加えずにWindows7(32ビット)でプログラムを実行できますか?私はMingWでCode::Blocks10.05を使用しています。
変更が必要な場合、どのデータ型でそれらを置き換えることができますか?
また、Cのどの標準がuint32_t、uint32などを定義しているのか知りたいですか?いわゆるgccCですか?
これらは、<stdint.h>
C99で導入されたC標準ヘッダーからのものだと思います。
システムにC99または互換性のあるヘッダーがまだない場合は、実際に持っている必要があり、実際に調査する必要があります。自分で定義を再作成する必要があります。
これを行うには、たくさんのtypedef
sを導入する必要があります。
typedef unsigned int uint32_t;
もちろん、それがコンパイラ上unsigned int
で実際に正確に32ビットであることを確認した後などです。
しかし、これは必要ではないはずです。VisualStudioでさえ、このヘッダーを提供するのに十分なC99サポートを備えていると思います。