You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

兼具GUI与CLI的程序中,如何通过GApplication API获取帮助信息?

问题:通过GApplication API获取或打印帮助信息

GLib库内置的命令行参数解析系统,在输入--help时会输出整洁的帮助信息。我认为在命令行参数解析失败时直接显示该帮助信息是更优的实践,而非仅提示用户使用--help,这样可以减少用户的操作步骤。

旧版的GOptionContext API可以通过g_option_context_get_help()轻松实现这一功能,但目前官方推荐(且GTK唯一支持)的方式是使用GApplication API——通过g_application_add_main_option_entries()添加选项条目、g_application_set_option_context_description()设置描述等。如何通过GApplication API获取或打印帮助信息?

我曾得到过这样的答复:GUI程序不应向终端输出内容,应显示更友好的GUI提示;非GUI程序则不应使用GApplication API甚至GLib。但我的程序兼具GUI与CLI特性,且认为GApplication API的命令行解析和帮助信息功能对CLI场景同样实用,希望能充分利用该功能。此外,GApplication与GtkApplication分离的初衷就是为了供非GTK程序使用,并非仅属于GNOME GUI框架。

我咨询过相关工具,它们均推荐使用g_application_get_help()g_application_get_option_context(),但这些函数在任何版本的GLib中都不存在,甚至Git版本中也没有


内容的提问来源于Stack Exchange,提问作者Fabel

火山引擎 最新活动