osg命令行参数的解析方式
来源:互联网 发布:uiautomator2.0源码 编辑:程序博客网 时间:2024/05/22 11:47
osg中负责命令行解析的两个类是 osg::ArgumentParser和osg::ApplicationUsage,本文主要对这两个类的实现和使用方式做一个简要的说明。
- ArgumentParser
这个类主要负责命令行参数的读取,当我们使用命令行工具的时候,一般是这样的方式
test.exe -s c:/src.txt -d c:/dst.txt这个命令行包含的参数是:argc = 5, argv = ["text.ext", "-s", "c:/src.txt", "-d", "c:/dst.txt"] 这样一个字符数组,ArgumentParser正是对这个参数的处理。
ArgumentParser包括结构:Parameter,这个结构主要记录了参数是什么类型以及这个类型参数的值(比如某个Parameter的类型是BOOL型,值是true)。ArgumentParser这个类最重要的作用是获取参数和参数的取值,比如我们需要获取一个参数列表中某个选项的值,比如我们想获取上面命令行中 -s 所指定的值是多少,那么就可以使用 read这个方法,通过read方法可以获取到“c:/src.txt”这个值,同时会把 “-s"和"c:/src.txt"从参数列表中删除掉。
- ApplicationUsage
这个类名称正好说明了它的作用,Application Usage:应用程序的使用方式,它会给用户一大段的解释,介绍应用程序怎么使用,有点类似于应用程序的使用说明书。
这个类处理的参数类型由三种:
1)命令行参数
2)环境变量参数
3)键盘操作参数
它们对应的枚举变量是:
enum Type { NO_HELP = 0x0, COMMAND_LINE_OPTION = 0x1, ENVIRONMENTAL_VARIABLE = 0x2, KEYBOARD_MOUSE_BINDING = 0x4, HELP_ALL = KEYBOARD_MOUSE_BINDING|ENVIRONMENTAL_VARIABLE|COMMAND_LINE_OPTION };
当我们使用它的write方法时,可以将制定类型的帮助信息打印出来。
另外一个注意点是:ApplicationUsage使用了单例模式,可以通过另一个类得到这个实例,这个类是:ApplicationUsageProxy,它的实现方式如下:
ApplicationUsageProxy(ApplicationUsage::Type type,const std::string& option,const std::string& explanation) { ApplicationUsage::instance()->addUsageExplanation(type,option,explanation); }也就是说当我们需要添加程序说明时,只需要构造这个类型的一个变量就可以了。
0 0
- osg命令行参数的解析方式
- 命令行参数的解析
- Python的命令行参数解析
- OSG的setViewMatrixAsLookAt解析
- 解析命令行参数-ACE_Get_Opt类的用法
- python_getopt解析命令行输入参数的使用
- Java 的命令行参数解析框架:Climax
- 解析命令行选项参数的 getopt函数
- python_getopt解析命令行输入参数的使用
- python_getopt解析命令行输入参数的使用
- 用Google的gflags解析命令行参数
- python 命令行参数解析的标准模板
- 命令行参数解析(1)
- 命令行参数解析(2)
- 命令行参数解析实例
- 解析命令行参数
- Linux 命令行参数解析
- VC命令行参数解析
- UVa - 12096 The SetStack Computer(STL容器综合,强推!)
- 杭电 2034
- Spark内核架构
- Kafka设计解析(四)- Kafka Consumer设计解析
- Python连接oracle数据库踩到的坑
- osg命令行参数的解析方式
- 触摸屏 触摸操作 鼠标点击事件
- adb常用命令介绍
- Max Script|控制器-旋转约束_lookat
- Django入门:多对多模型
- ARM CMSIS DSP库函数arm_sin_cos_f32的BUG
- Kafka设计解析(五)- Kafka性能测试方法及Benchmark报告
- poj 3253 Fence Repair
- 欢迎使用CSDN-markdown编辑器