Bash可以从c++程序接收参数或返回值吗?
Can Bash receive parameters or return values from a C++ program?
这是我编写的这个解析器程序,它以std::map的形式返回来自多个文件(500多个条目)的信息的一个很好的结构。
一个元素看起来像:
anObject -> Name [String]
ID [Int]
Children [list(anObject)]
现在我想将它们显示到GUI中。正如你所看到的,一个对象可以包含更多的对象。然后通过迭代特定对象的子对象来打印所有存在的对象。
(如。"print objectA - objectA有子对象吗? "- print children"…"
我已经习惯了"dialog"本身,但是在dialog/bash和c++程序之间是否有一个接口,以便dialog- gui可以与我的map交互?如果没有,有什么好的GUI替代方案吗?
我已经看到了一种从c程序中运行bash(以及dialog)的方法,但是他们没有讨论彼此之间的接口。
亲切的问候
我想到了两种可能性:
c++程序运行一次,并产生一个输出文件,bash脚本将获取并处理该文件。正如您所说,这似乎是工作量的两倍,c++正在解析生成一些bash随后需要解析的东西,这实际上与一般脚本哲学相当一致:将特定工具(grep, sort, tail, sed…)链接在一起以实现一些更大的目标。我们将困难的工作委托给一些专门的程序,并生成bash可以轻松使用的格式良好的结果。这意味着您可以调整c++输出,以便在bash中真正容易解析。
另一种选择是让c++程序在后台作为服务有效地运行。在最一般的情况下,它可以是Web服务或REST服务。因此,您的UI只是向服务发出(例如)HTTP请求并使用答案。我认为使用命名管道你可以更简单地与后台进程进行交互,但是自从印度用bash这样做以来已经很多年了,所以我不知道它对UI是否实用。
总的来说,我的感觉是,如果你的真正目标是制作一个漂亮的UI,那么bash不是最好的工具,PHP或任何web应用程序构建工具可能更容易。但是,如果目标是学习bash,那么探索命名管道可能会很有趣。
- 如何在另一个函数中使用返回值作为参数?
- C++输出参数与返回值
- 使用 Main() 返回值作为 python 脚本的参数
- 将参数的省略复制为返回值
- 如何将一个函数的返回值作为另一个函数的参数传递?
- 可以通过常量引用返回默认参数的值吗?
- void 函数中的指针参数返回不一致的值
- 参数传递和返回值如何在程序集级别的 x86 上的 C/C++ 中工作?
- 将指向数组的指针作为函数参数传递,这本身就是另一个函数的返回值?
- 编写一个函数,该函数将通过判断其每个参数的类型来自动确定其返回值
- 有条件的操作员从其参数的副本中返回值
- 使用 "typename Container::value_type" 作为返回值时无法推断模板参数
- C++ ReSharper - 生成函数返回值/参数类型的变量
- ARM访问参数与返回值
- C++如何在模板中推断可调用对象的类型(参数列表和返回值)
- 用于指示返回值生存期的C++函数属性和参数相同
- 使用constexpr函数的返回值作为另一个函数的参数
- 我可以从引用传递的参数返回值中声明const int吗
- 在无锁的pop()中使用引用参数返回值的缺点
- 参数返回值的 V8 内存管理