クロスプラットフォームにしたい C++ ライブラリを作成するつもりです。64 ビットの整数型がないプラットフォームを許可する必要があるかどうかは疑問です。
32 ビットの整数を持ち、64 ビットの整数を持たない C コンパイラを備えた 8 ビットまたは 16 ビットの組み込みシステムがあることは知っています (たとえば、MSP430 など、少なくとも歴史的には)。
コンテキスト: 私は実際に、私の単純な疑似乱数ジェネレーターC ライブラリを C++ に移植したいと考えています。C ライブラリは主に 32 ビット整数を扱いますが、オプションの 64 ビット API もいくつかあります。また、32 ビット コードは、64 ビット実装 (非常に単純) を使用するか、代わりに 32 ビットのみの実装 (より複雑) を使用して内部計算を行うことができます。C ヘッダーは#ifdef UINT64_C
、64 ビット API を有効/無効にする必要があります。C ファイルでは#ifdef UINT64_C
、一部の関数の 64 ビットまたは 32 ビットのみの実装を選択する必要があります。uint64_t
では、C++ ライブラリについても同じことをしなければならないのでしょうか?それとも、常に利用可能であるというのは安全な前提なのでしょうか?