1

我正在开发一个 C++ 项目,该项目需要命令行界面才能在代码库的另一个区域启动命令。在单个会话中,可以通过此 CLI 发送任意数量的命令,格式均为command-keyword [ param1 [ param2 [ ... [ paramN ] ] ] ].

我正在寻找一个图书馆:

  • 解析来自给定命令的关键字和参数。
  • 维护关键字到函数指针、关键字到最小和最大参数数量、错误消息等的映射。
  • 当命令格式正确时调用映射函数,并在命令格式不正确或关键字不存在时正常失败。
  • 依赖项非常轻量级(如果我能提供帮助,我不想导入整个 boost)。

我确信这在很大程度上是一个已解决的问题(也许我的 Google 和 SO 搜索失败了),但我似乎找不到适合我需要的库。

有没有人为此目的使用某个库?

tl;dr - 我正在寻找一个类似于 shell 的界面,我可以将其集成到我自己的 C++ 项目中以管理交互式命令解析。有什么好的,轻量级的资源吗?

4

1 回答 1

0

这可以满足您的要求:它以交互方式读取命令,就像交换机或路由器的控制台一样,它使用树结构来定义命令和选项。一个问题:它使用套接字而不是标准输入和标准输出。你可以修改它。 https://github.com/dparrish/libcli

于 2013-03-23T19:33:06.010 回答