启动进程并重定向其 stdio 的跨平台方式

5 c++ stdio

我想知道是否有一个跨平台(Windows、Linux、BSD)库,我可以用它异步启动一个进程,并iostream为其标准管道提供类似的包装器。

我希望它能够知道进程何时终止。

谢谢。

ham*_*med 3

您可以使用 2 个库:

质量过程

您可以使用 Qt 工具包中的 QProcess 类。有关更多信息,请参阅此 stackoverflow 问题qt 库

libexecstream

比 Qt 更轻,并且是跨平台的

其他的

  • pstreams 版本 0.17

    如果您只想要一个控制台应用程序,您可以使用旧的基于 popen 的分支(版本 0.17),它使用 Win32 函数 _popen() 和 _pclose(),但这些在 GUI 程序中不起作用(并且可能会炸毁您的 PC ,如果 Windows 不为您执行此操作。)此版本不具备该库的大部分功能,并且不再进行维护或测试。