0

と の両方を試しましsystem()popen()。cygwin ターミナルでプログラムを実行すると問題なく動作しますが、.exe ファイルをダブルクリックして Windows プラットフォームで実行しようとすると、次 のexception::handle: Exception: STATUS_ACCESS_VIOLATION エラーがpopen()発生しsystem()ます。

次のようなUNIXとWindows OSの両方で機能する簡単なコマンドを実行しています。

system("echo foo>foo.txt");

ここで何が間違っていますか?

4

1 に答える 1

2

これは、 と の両方がパスにない引数を渡すsystem()ためだと思います。最初にパスに追加してみてください。これによると、パスに次のものが必要です。popen()/bin/sh

cyggcc_s-1.dll
cygiconv-2.dll 
cygintl-8.dll 
cygncursesw-10.dll 
cygreadline7.dll 
cygwin1.dll
ls.exe 
sh.exe
于 2013-02-01T07:01:28.313 に答える