【发布时间】:2026-01-08 10:00:02
【问题描述】:
我想知道是否有一个跨平台(Windows、Linux、BSD)库,我可以使用它异步启动一个进程并为其标准管道提供类似iostream 的包装器。
我希望它能够判断进程何时终止。
谢谢。
【问题讨论】:
我想知道是否有一个跨平台(Windows、Linux、BSD)库,我可以使用它异步启动一个进程并为其标准管道提供类似iostream 的包装器。
我希望它能够判断进程何时终止。
谢谢。
【问题讨论】:
您可以使用 2 个库:
QProcess
您可以使用 Qt 工具包中的 QProcess 类。 更多信息请访问this * question 和qt library。
libexecstream
这个library比Qt更轻巧,而且是跨平台的
其他
如果你只想要一个控制台应用程序,你可以使用旧的基于 popen 的分支(0.17 版),它使用 Win32 函数 _popen() 和 _pclose(),但这些在 GUI 程序中不起作用(并且可能会崩溃如果 Windows 不为您执行此操作,请升级您的 PC。)此版本不具备该库的大部分功能,并且不再进行维护或测试。
【讨论】:
system吗?我认为它是跨平台的。
system(),但这是一个阻塞调用,AFAIK 不启用输入/输出重定向。