glib学习笔记之六——处理命令行参数
来源:互联网 发布:淘宝搜索排名权重 编辑:程序博客网 时间:2024/06/18 13:37
官方文档:http://developer.gnome.org/glib/stable/glib-Commandline-option-parser.html
最后,分析的过程会将GOptionEntry结构体定义的options中的各个标记进行相应的处理
在connman中使用GOptionEntry结构体处理命令行参数,结构体形式如下:
static GOptionEntry options[] = { { "debug", 'd', G_OPTION_FLAG_OPTIONAL_ARG, G_OPTION_ARG_CALLBACK, parse_debug, "Specify debug options to enable", "DEBUG" }, { "device", 'i', 0, G_OPTION_ARG_STRING, &option_device, "Specify networking device or interface", "DEV" }, { "nodevice", 'I', 0, G_OPTION_ARG_STRING, &option_nodevice, "Specify networking interface to ignore", "DEV" }, { "plugin", 'p', 0, G_OPTION_ARG_STRING, &option_plugin, "Specify plugins to load", "NAME,..." }, { "noplugin", 'P', 0, G_OPTION_ARG_STRING, &option_noplugin, "Specify plugins not to load", "NAME,..." }, { "wifi", 'W', 0, G_OPTION_ARG_STRING, &option_wifi, "Specify driver for WiFi/Supplicant", "NAME" }, { "nodaemon", 'n', G_OPTION_FLAG_REVERSE, G_OPTION_ARG_NONE, &option_detach, "Don't fork daemon to background" }, { "nodnsproxy", 'r', G_OPTION_FLAG_REVERSE, G_OPTION_ARG_NONE, &option_dnsproxy, "Don't enable DNS Proxy" }, { "compat", 'c', 0, G_OPTION_ARG_NONE, &option_compat, "(obsolete)" }, { "version", 'v', 0, G_OPTION_ARG_NONE, &option_version, "Show version information and exit" }, { NULL },};建立结构体之后,创建context,将context与GOptionEntry关联,然后将命令行参数传入到context进行分析
context = g_option_context_new(NULL); g_option_context_add_main_entries(context, options, NULL); if (g_option_context_parse(context, &argc, &argv, &error) == FALSE) { if (error != NULL) { g_printerr("%s\n", error->message); g_error_free(error); } else g_printerr("An unknown error occurred\n"); exit(1); }
最后,分析的过程会将GOptionEntry结构体定义的options中的各个标记进行相应的处理
- glib学习笔记之六——处理命令行参数
- glib学习笔记之三——GLib核心应用支持:glib 中 IO Channels 理解
- glib学习笔记之四——GLib核心应用支持:glib库线程池代码分析
- glib学习笔记之二——GLib核心应用支持:The Main Event Loop
- glib学习笔记之五——GKeyFile
- glib学习笔记之一——glib参考手册
- Glib解析命令行参数
- shell学习笔记-命令行参数的处理
- Linux 程序设计学习笔记----命令行参数处理
- glib学习笔记之二(续)——GLib核心应用支持:The Main Event Loop
- OpenCV学习——物体跟踪的粒子滤波算法实现之命令行参数处理
- python编写工具之基础——处理命令行参数
- glib学习笔记序——如何开始
- Glib学习笔记(1)
- Glib学习笔记(2)
- GLib学习笔记(3)
- Glib学习笔记(4)
- GLib学习笔记
- 简单 UDP 异步通讯实践
- asp.net webconfig session 过期时间设置
- 男人一夜、女人一生~
- 模拟器不能上网解决方案
- arm- linux-gcc-4.3.2安装配置
- glib学习笔记之六——处理命令行参数
- Visual C++ in Short: Encoding and decoding with Base64
- SQL Server如何查看SQL语句的执行时间 .
- 仿凡客诚品css
- csc 命令详解
- android系统中的进程和线程
- White Noise 白噪音:帮你提高工作注意力的 Chrome 扩展
- 倒计时(Jquery插件)
- Sigslot介绍