gpt4 book ai didi

java - 从 C/C++ 执行交互式 CLI 应用程序

转载 作者:行者123 更新时间:2023-11-30 18:27:24 30 4
gpt4 key购买 nike

Java 支持java.lang.Process 。这可以与 java.lang.ProcessBuilder 一起使用或Runtime.exec 。对象为java.lang.Process 。我可以通过读取输出流/错误流并写入输出流来与底层应用程序交互。

是否有任何方法/库可以在 C 或 C++ 中执行类似的操作?

我尝试popen ,但它是单向的,即我可以写或读,不能两者兼而有之。

欢迎任何建议。如果没有解决方案但有一些解决办法,也欢迎。

更新:我正在寻找 Linux 平台的解决方案。

最佳答案

没有跨平台的方法可以从 C 或 C++ 启动新进程。每个平台都会有自己的界面来执行此操作,假设它有进程的概念。

您最有可能遇到的两个界面是 Windows CreateProcess和 POSIX fork/exec .

既然您提到了读/写子进程的输出/输入,您还需要使用平台的管道函数:CreatePipe在 Windows 上或 pipe在 POSIX 兼容平台上。

<小时/>

所有这些都有跨平台包装器,例如 Boost Process 。但标准库中没有包含它们,因此您必须像任何其他第三方库一样构建/安装它们。

关于java - 从 C/C++ 执行交互式 CLI 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56538794/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com