google gflag使用方法举例
前言:
1. gflag是一种命令行编码参数解析工具,开源地址: https://github.com/gflags/gflags , 在caffe框架也使用了gflag来编码解析命令行.
那么什么是gflag呢? 下面简单描述一下gflag:
gflag支持如下数据格式:string ,double,int32, int64,uint64,bool需求:
#include<iostream>
#include<gflags/gflags.h>
#include<string>
#include<cstring>
#include<cstdio>
#include<cstdlib> using namespace std;
using namespace google; static bool check( const char * flagname , google::int32 age )
{ std::cout<<"the age "<< age <<std::ends;
if(age>)
{
std::cout<<" is valid ~"<<std::endl;
return true;
}
std::cout<<" is invalid~"<<std::endl;
return false;
} DEFINE_string(username , "xijun.gong" , "the student of name");
DEFINE_int32(age , , "the student of age");
DEFINE_double(grade , ,"the student of grade"); static const bool validate = google::RegisterFlagValidator(&FLAGS_age , &check);
int main(int argc, char** argv) {
google::SetVersionString("0.0.0.1");
google::SetUsageMessage("Usage: ./gflags");
google::ParseCommandLineFlags(&argc, &argv, true);
std::cout <<"Student Infomation: "<<std::endl;
std::cout << "username : " << FLAGS_username <<std::endl;
std::cout <<"age: " << FLAGS_age << std::endl;
std::cout <<"grade: "<< FLAGS_grade <<std::endl;
return ;
}
使用命令编译:
g++ gflag.cc -o gflags -lgflags -lpthread
执行命令:

解析:
当我们age<16是,check返回的是False,gflag注册失败,程序启动失败. 当大于16时,程序正常启动.
google gflag使用方法举例的更多相关文章
- js调用php和php调用js的方法举例
js调用php和php调用js的方法举例1 JS方式调用PHP文件并取得php中的值 举一个简单的例子来说明: 如在页面a.html中用下面这句调用: <script type="te ...
- 将iOS中Safari 的默认搜索引擎由google.cn改为google.com的方法
众所周知虽然Google大部分的业务已经迁出中国大陆,访问Google的中国站点只会出现一个投影网站,但是很长一段时间里如果想要访问Google仍然能跳转到google.com.hk这个香港的节点,这 ...
- [C#]List的Sort()、Find()、FindAll()、Exist()的使用方法举例
[C#基础]List的Sort().Find().FindAll().Exist()的使用方法举例 List函数用得还是比较多的,正好用到其中的向个方法,做了一个例程,再总结一下: 先建一个学生类: ...
- python之if使用方法举例
if使用方法举例: import random #随机生成1-100的整数 n = random.randint(1, 100) if n > 50: print(n, "> 5 ...
- Android中的关于MDM中的几个方法举例
Android中的关于MDM中的几个方法举例 首先介绍一下MDM是什么的缩写,MDM是什么? MDM 是 (Mobile Device Management )的缩写,中文翻译过来就是移动设备管理.随 ...
- [Python3 填坑] 014 类的常用魔术方法举例
目录 1. print( 坑的信息 ) 2. 开始填坑 2.1 __init__() 2.2 __new__() 2.3 __call__() 2.4 __str__() 2.5 __repr__() ...
- google搜索引擎使用方法
搜索引擎命令大全!这是一个我最喜欢的Google搜索技巧的清单: link:URL = 列出到链接到目标URL的网页清单. related:URL = 列出于目标URL地址有关的网页. site:ht ...
- google glog 使用方法
#include <glog/logging.h> int main(int argc,char* argv[]) { google::ParseCommandLineFlags(& ...
- 在像Angular2这样的SPA应用中使用Google Analytics的方法
Angular2のようなシングルページアプリケーションでGoogleアナリティクスを使う方法 如何在像Angular2这样的SPA应用中使用Google Analytics? 试着调查了一下. 由于S ...
随机推荐
- python filter map reduce
filter(function, iterable): Construct a list from those elements of iterable for which function retu ...
- Photoshop 无法打开某些JPEG文件的成因
最近想把QQ相册里的一些照片整理修复一下,所以下载了一些到本地,然后用PS CC 2018打开,结果PS告诉我"无法完成请求,因为程序错误".试了Win10系统自带的看图软件,能够 ...
- sqlserver 存储过程 修改
CREATE PROCEDURE [dbo].[UpdateMessage] @strTable varchar(), --要修改的表 @strColumn varchar(),--要修改的列名(如果 ...
- (一)最小的Django
本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 本文基本内容均出自<Lightweight Django>(中文为<轻量级D ...
- Safari不能连接到服务器
系统偏好设置-网络-高级-代理,把"网页代理"和"安全网页代理"两个复选项去掉,最下面"使用被动FTP模式"复选项保留,即可解决!
- awk 字符拼接
i-6gdkkemx 2 2 #cat cpu.txt | awk '{print $1,$2"核"$3"G"}' i-6gdkkemx 2核2G
- Microsoft Visual Studio 2012旗舰版(VS2012中文版下载)官方中文版
Microsoft Visual Studio 2012 Ultimate旗舰版(VS2012中文版下载)是一个最先进的开发解决方案,它使各种规模的团队能够设计和创建出使用户欣喜的引人注目的应用程序. ...
- Spring入门篇总结:
本文是对慕课网上"搞定SSM开发"路径的系列课程的总结,详细的项目文档和课程总结放在github上了.点击查看 视频传送门:Spring入门篇 该门课程主要从Spring的Bean ...
- 用HTML5和原生js实现放大局部图片
drawImage方法 context.drawImage(image,sx,sy,sh,dx,dy,dw,dh) sx\sy起始图像的横纵坐标,sh\sd起始图像的大小,dx\dy复制图像的横纵坐标 ...
- windows server数据库备份
@echo off //设置生成文件名字 set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"//使用mysqldump输出sql文件 cesec ...