私は 3 台のコンピューターを持っており、そのうちの 2 台は Windows 8 を使用しています。MinGW の g++ (4.8.1-4) の最新バージョンを使用すると、Windows 8 コンピューターでコンパイルして実行すると、Windows 7 ではなく、hello world プログラムがフリーズします。
#include <iostream>
int main()
{
std::cout << "Hello, World!" <<std::endl;
return 0;
}
これは g++ で問題なくコンパイルされますが、a.exe を実行すると "Hello, World!" が表示されます。ウィンドウがポップアップし、「a.exe が動作を停止しました。Windows はオンラインでプログラムの解決策を確認できます....」などと表示されます。
誰もこの問題を見たことがありますか。
また、「std::cout << "Hello, World!\n" << std::flush;」を試しました。これには同じ問題があります。バッファをフラッシュするすべての関数がクラッシュを引き起こすようです。
Eric のアドバイスに従い、プログラムを再コンパイルして gdb で実行したところ、次の出力が得られました。
Program received signal SIGILL, Illegal instruction.
0x00405065 in _Jv_RegisterClasses ()