【问题标题】:system-function call asynchron?系统函数调用异步?
【发布时间】:2011-10-12 22:19:14
【问题描述】:

在代码中的一个地方,我用system-Call 调用了一个外部工具。我使用 Wine 并使用 C 编程。

调用是这样的:

system("blabla.exe outfile");

该命令是动态生成的以更改输出文件。几行之后,我尝试使用fopen 打开生成的文件,但fopen 返回NULL

如果我将调用更改为以下一切正常:

system("blabla.exe outfile");
Sleep(2000);

但我不喜欢等待 2 秒......而且这个解决方案非常糟糕。 我认为system-Call 同步工作?所以子进程及其所有(文件)句柄应该在system-Call 之后关闭,不是吗?我对此有点困惑。

谢谢

【问题讨论】:

    标签: c windows system sleep wine


    【解决方案1】:

    system 调用是同步的,根据执行结束后返回的手册页。我怀疑葡萄酒冲洗文件句柄有问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-25
      • 2011-04-29
      • 1970-01-01
      • 2013-03-28
      • 2018-12-13
      • 2013-07-12
      相关资源
      最近更新 更多