コンパイルするモードが 32 ビット モードか 64 ビット モードかに関係なく、long を 8 バイトにしたいと考えています。私は MSVC を使用していますが、現時点ではクロスプラットフォームについてはあまり気にしていません。私は次のようなことをやってみました
#define long __int64
また
typedef __int64 long;
しかし、最初のものは他のファイルで大規模なコンパイルエラーを引き起こし、2番目のものはコンパイラ自体では受け入れられないようです.