动词/动作命令行界面的任何C++库?
Any C++ libraries for verb/action command line interfaces?
正如标题所暗示的那样,我正在尝试找到一个库(仅标题会很好),它可以轻松实现您在 Web 应用程序中看到的这些漂亮的小命令行界面,这些界面的形式为:
$ application --general-flag=asdf action --action-specific-flag=asdf positional --more-flags
例如:
$ hugo new site --force --format=toml mysite
或
$ hugo --buildDrafts
对于 Go,有一些(在我看来)非常好的库,例如 cobra 或 kingpin (github.com/alecthomas/kingpin)。 但是,我无法在 c++ 中找到我喜欢的类似库。 大多数解决方案似乎使用起来相当复杂,冗长或仍然需要大量的手动工作。
一般来说,他们似乎正在通过观察来解决问题 在如何解析参数和选项而不是如何构建命令 线路接口。
模板化有时依赖于启用的 RTTI,这必须在我的应用程序中禁用。 我看过的是:tclap,optionparser(optionparser.sourceforge.net/),cmdline(github.com/tanakh/cmdline),args.hxx(github.com/Taywee/args)。
Args.hxx看起来最有前途,但依赖于RTTI。 你知道我可能忽略了什么图书馆吗?也很抱歉链接,我不允许超过 2 个,但仍然想提供有关我已经尝试过的一些信息。
虽然我个人从未使用过它,但你可以看看Boost.Program_options。但是,我不确定是否需要RTTI。
相关文章:
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 奇怪的(对我来说)返回声明 - 在谷歌上找不到任何关于它的信息
- 如何在不产生任何垃圾的情况下获得C中的像素
- 为什么我不能在 C++ 中的特定函数重载中调用同一函数的任何其他重载?
- C++映射有2个键,这样任何1个键都可以用来获取值
- Visual Studio(或任何其他工具)能否将地址解释为调用堆栈(boost上下文)的开头
- RtlCaptureStackBackTrace未捕获任何帧
- 链表c++插入,所有情况都已检查,但没有任何工作
- C++模板函数,用于比较任何无符号整数和有符号整数
- Arduino millis() - millis() 怎么能等于 0 以外的任何东西?
- 尝试摆脱任何堆内存分配
- 是否有任何C++功能可以对地图进行排序?
- 打印时有二叉树问题.用户输入不打印任何内容
- 共享指针和具有自定义删除程序的唯一指针之间的语法差异背后的任何原因
- 在C++行尾写一个分号或多个分号是否会改变任何内容
- C++类型特征,以查看是否可以<uint32_t>对类型"K"的任何变量调用"static_cast(k)"
- C++ 将 CIN 值存储到任何类型的数组中
- 为什么瓦尔格林德在不释放恶意内存后没有报告任何问题?
- GStreamer在开始任何播放之前进行搜索
- 是否有任何建议来统一函数类型限定符并简化可恶的函数类型?