Google gflags
gflags是google开源的一个处理命令行参数的库, 由c++开发, 有python接口. caffe中有用到, 拿来学习下
//test.cpp
#include <gflags/gflags.h>
#include "other.h"
#include "test.h"//自定义参数合法性检查
static bool Validatemyarg(const char* filename, gflags::int32 value)
{if (value>0 && value<100)return true;std::cout<<"Invalid value for "<<filename<<' '<<value<<std::endl;return false;
}
DEFINE_int32(myarg,10,'myarg');
//用gflags::RegisterFlagValidator来检查参数是否合法,用static是防止外部文件访问吗?
static const bool validmyarg=gflags::RegisterFlagValidator(myarg,&Validatemyarg); int main(int argc, char** argv)
{//设置版本号,当在命令行输入test --version的时候会输出该版本号gflags::SetVersionString("1.0.0.0")//设置参数的用法,在命令行中输入test --help,会输出gflags::SetUsageMessage("usage: test <args>\n\n""args:\n"" -myarg: int32 ,1~99\n"); //解析命令行参数, 当第三个参数为true时,解析结束后会将argc设为1,argv只保留原argv[0].当为false时,argc仍为原来的值,但是argv中的元素可能改变顺序gflags::ParseCommandLineFlags(&argc, &argv, true);//otherfunc()定义在others.cpp中,这个是用来检验DECLARE的otherfunc();gflags::ShutDownCommandLineFlags();
test.h
//test.h
#ifndef _TEST_H_
#define _TEST_H_
//DECLARE_int32相当于对变量FLAGS_myarg作extern外部声明
DECLARE_int32(myarg);
#endif
others.h
//others.h
#ifndef _OTHERS_H_
#define _OTHERS_H_
#include "test.h"
void otherfunc();
#endif
others.cpp
//others.cpp
#include <others.h>
#include <iostream>
void otherfunc()
{//外部变量FLAGS_myargstd::cout<<FLAGS_myarg<<std::endl;
}
除了FLAGS_int32外, 还有参数类型:
* DECLARE_bool: boolean
* DECLARE_int32: 32-bit integer
* DECLARE_int64: 64-bit integer
* DECLARE_uint64: unsigned 64-bit integer
* DECLARE_double: double
* DECLARE_string: C++ string
Google gflags相关推荐
- Google Gflags使用
Google Gflags可以用于参数传递,它是以全局变量的形式进行参数传递,即代码中任何一处都可以调用到它.同时它也提供规范化的参数解析,可以用于主函数的传参. 定义 #include <gf ...
- 使用 Google gflags 简化命令行参数处理
(本文章仅适用于C++程序) 写服务程序时,如果需要提供命令行参数.传统的方法是手工解析argv参数,或者使用getopt函数.两种方法都比较费劲.使用Google gflags可以大大简化命令行参数 ...
- google gflags命令行参数处理(c++)
google gflags介绍 它可以直接从命令行中提取预定义好的参数. 宏定义 例子: // test.cpp #include <gflags/glags.h> // 三个参数:1.定 ...
- 【C++】google gflags详解
参考博客:https://blog.csdn.net/lezardfu/article/details/23753741 0.简介 gflags是google的一个开源的处理命令行参数的库,使用c++ ...
- Google gflags使用说明
gflags是什么: gflags是google的一个开源的处理命令行参数的库,使用c++开发,具备python接口,可以替代getopt. gflags使用起来比getopt方便,但是不支持参数的简 ...
- Google gflags安装
环境: ubuntu12.04 LTS 方法一:apt-get 方法二:手动安装 Step 1. 获取源代码 https://code.google.com/p/gflags/source/check ...
- google gflags 使用方法
首先声明,本文描述的是google用于linux命令行下的gflags库,而非windows下debug内存的gflags. gflags官方地址: https://code.google.com/p ...
- google gflags的参数解析,便捷实用
命令行参数解析,一直是我们后段开发人员需要经常使用的一个功能,用来从终端解析接口的输入 ,并做出对应的处理.这里为使用C++/python的开发人员推荐一个便捷的命令行解析接口集 gflags. 我们 ...
- 【gflags 】google gflags 使用方法
参考: https://blog.csdn.net/jcjc918/article/details/50876613
最新文章
- SAP HUM嵌套HU研习之HU03显示内层HU数据
- python applymap_运行Python Applymap需要时间
- 43. ExtJs控件属性配置详细
- python绘制横向堆积柱状图_Python 堆叠柱状图绘制方法
- 果断Mark!Searchcode——源代码搜索利器
- Linux系统中解压缩指令汇总
- python findcontours_基于Python的opencv学习练习(十二) findContours()轮廓与绘制drawContours()...
- (转载)UI设计还远没有满足客户的需求
- Retrofit请求数据对错误以及网络异常的处理
- 全民K歌推荐系统架构、算法及后台设计实践
- 文本序号添加/移除工具
- linux挂载lvm
- 4-vue的生命周期(钩子函数)
- 如何让小孩练得一手好字?这5个小方法,家长不妨试试
- ubuntu桌面状态栏不见
- 2022-2028年全球玻璃棉板收入年复合增长率CAGR为 5.0%
- buuctf web warmup详细题解
- OkHttp3使用详解
- java开发工程师的晋升路径_Java开发工程师职业发展及晋升路线图
- ci框架 乱码 mysql_mysql设置utf8_unicode_ci字符集php页面输出??乱码的解决方法
热门文章
- 差点猝死!杭州某互联网大厂员工连续熬夜加班后,引发心肌炎被送ICU病房,公司:她加班是自愿的!...
- 电商:大众市场与细分市场
- 《首先,打破一切常规》笔记(转)
- matlab的导数等
- 破解加密狗之维达软件清单计价2008
- 百度网盘安装 不能打开要写入的文件的解决方法
- 如何使用 Tibco Business Works 6 (BW6) 或容器版 (BWCE) 创建 Restful Web 服务
- 2008.12.24李明老师互联网时代的就业与创业讲座总结
- 行测-图形推理-3-对称图形类
- C#使用IronPython调用Python