gpt4 book ai didi

c++ - Bash 可以从 C++ 程序接收参数或返回值吗?

转载 作者:行者123 更新时间:2023-11-28 06:45:56 25 4
gpt4 key购买 nike

我写了这个解析器程序,它以 std::map 的形式从多个文件(500 多个条目)返回一个很好的信息结构。

一个元素看起来像:

anObject -> Name [String]
ID [Int]
Children [list(anObject)]

现在我想将它们显示到 GUI 中。如您所见,1 个对象可以包含更多对象。然后将通过迭代特定对象的子对象来打印所有存在的对象。

(例如“打印 objectA - objectA 有 child 吗? - 打印 child ”...)

我已经对“对话框”本身很熟悉了,但是对话框/bash 和 C++ 程序之间是否有接口(interface),以便对话框 GUI 可以与我的 map 交互?如果没有,是否有任何好的 GUI 替代品?

我看到了一种从 c 程序运行 bash(以及因此对话)的方法,但他们没有谈论彼此之间的接口(interface)。

亲切的问候

最佳答案

我想到了两种可能性:

C++ 程序运行一次并生成一个输出文件,bash 脚本可以获取并使用该文件。虽然,正如您所说,这似乎是工作量的两倍,但 C++ 正在解析产生一些 bash 然后需要解析的东西,这实际上与一般脚本哲学非常一致:将特定工具(grep、sort、tail、sed ...)链接在一起实现一些更大的目标。我们将困难的事情委托(delegate)给一些专门的程序,并生成 bash 可以轻松使用的格式良好的结果。这意味着您可以调整 C++ 输出,以便在 bash 中真正轻松地进行解析。

另一种方法是让 C++ 程序作为服务在后台有效运行。在大多数情况下,它可能是 Web 服务或 REST 服务。因此,您的 UI 只是向服务发出(比方说)HTTP 请求并使用响应。我认为使用命名管道可以更简单地与后台进程进行交互,但是自从使用 bash Indid this 以来已经有好几年了,所以我不知道它是否适用于 UI。

总的来说,我的感觉是,如果您的真正目标是制作漂亮的 UI,那么 bash 不是最好的工具,PHP 或任何 Web 应用程序构建工具可能更容易。但是,如果学习 bash 是目标,那么探索命名管道可能会很有趣。

关于c++ - Bash 可以从 C++ 程序接收参数或返回值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24989668/

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