- 951 名前:デフォルトの名無しさん mailto:sage [2023/12/24(日) 13:46:07.33 ID:zZdFC2zj.net]
- 質問です。
・ OS は windows10 で、最近 MinGW-w64 を導入した。 ・ 下記の test.cpp ファイルに対して g++ -m64 -o test5 test.cpp と実行。 test.cpp #include <stdio.h> #include <stdint.h> int main(){ printf("%d %x %zu", sizeof(long), sizeof(long), sizeof(long)); getchar(); return 0; } ・ 出力された test5.exe を実行してみると、なぜか「4 4 4」と表示されてしまい、 「8」が1個もない。64ビット環境では、sizeof(long) は「8」なのでは? ・ test5.exe を右クリックして互換モードの欄を見てみると、 Vista 以降のものしか表示されないので、 ちゃんと64ビット版の実行ファイルになっている (他にも色々な確認方法があるが、いずれも64ビット版に合致する)。 ・ それなのに「8」と表示されないのはなぜ?
|

|