我尝试了system()
和popen()
。当我在cygwin终端上运行程序时,它工作得非常好但是当我尝试通过双击.exe文件在Windows平台上运行它时出现此错误:
exception::handle: Exception: STATUS_ACCESS_VIOLATION
我在popen()
上收到此错误,但我没有收到system()
的任何错误。
我正在运行适用于unix和windows操作系统的简单命令,例如:
system("echo foo>foo.txt");
我在这里做错了什么?
答案 0 :(得分:2)
我认为这是因为system()
和popen()
都将他们的参数传递给路径中没有的/bin/sh
,您可以先尝试将其添加到路径中。根据{{3}},您需要在路径中添加以下内容:
cyggcc_s-1.dll
cygiconv-2.dll
cygintl-8.dll
cygncursesw-10.dll
cygreadline7.dll
cygwin1.dll
ls.exe
sh.exe