Visual Studio 2012 を使用しています。システム関数を使用して exe を実行しています。この exe がクラッシュすると、プログラムを終了する必要があることを示すダイアログ ボックスが表示されます。しかし、ボックスを閉じるまで、呼び出し元のプログラムがフリーズします。呼び出しプログラムがexeを終了して続行する方法はありますか? Windowsでのみ機能する必要があります。
こんな感じで呼んでいます
int ret = system((prog + "> log.txt 2>&1").c_str());
余分な機能は、標準出力とエラーをログ ファイルに出力することです。
奇妙なことに、その部分を削除すると、制御が正常に戻ります。
int ret = system((prog).c_str());
何か案は??ありがとう
編集:これを行うと、制御が返されます
int ret = system((prog + "> log.txt").c_str());
このウェブサイトから余分な文字を入手しました: