C++ for Windows(MinGW)およびLinux(g ++)でクロスプラットフォームコードを記述しようとしています。私はLinuxで64ビット整数を "long"として定義していましたが、MinGWに移動するとsizeof(long)は4バイトを返しました。そして、私は、MinGWで64ビット整数を定義するために "long long"または "__INT64"を使用できることを発見しました。WindowsおよびLinux用のC++での64ビット整数のクロスプラットフォーム定義
1. WindowsとLinuxの両方で64ビット整数を定義する最も移植性の高い方法は何ですか?私は現在の#ifdefを使用していますが、これはそれを行うための最善の方法であれば、私にはわからない:
#ifdef LINUX
#define INT64 long
#elif WIN32
#define INT64 long long
#endif
2.- 私はMinGWの中で「長い長い」使用するか、「__int64」でしょうか?なぜ?
私はあなたが細長いと言いたかったのですが、ダブルダブルではありません。 – drahnr
@drahnr私の投稿は編集しました。 –