google gflag使用方法举例

前言:

  1. gflag是一种命令行编码参数解析工具,开源地址: https://github.com/gflags/gflags , 在caffe框架也使用了gflag来编码解析命令行.

那么什么是gflag呢? 下面简单描述一下gflag:

gflag支持如下数据格式:string ,double,int32, int64,uint64,bool需求:

 1 #include<iostream>
 2 #include<gflags/gflags.h>
 3 #include<string>
 4 #include<cstring>
 5 #include<cstdio>
 6 #include<cstdlib>
 7
 8 using namespace std;
 9 using namespace google;
10
11 static bool check( const char * flagname , google::int32  age )
12 {
13
14     std::cout<<"the age "<< age <<std::ends;
15     if(age>16)
16     {
17         std::cout<<" is valid ~"<<std::endl;
18         return true;
19     }
20     std::cout<<" is invalid~"<<std::endl;
21     return false;
22 }
23
24 DEFINE_string(username , "xijun.gong" , "the student of name");
25 DEFINE_int32(age , 14 , "the student of age");
26 DEFINE_double(grade , 89 ,"the student of grade");
27
28 static const bool validate = google::RegisterFlagValidator(&FLAGS_age , &check);
29 int main(int argc, char** argv) {
30     google::SetVersionString("0.0.0.1");
31     google::SetUsageMessage("Usage: ./gflags");
32     google::ParseCommandLineFlags(&argc, &argv, true);
33     std::cout <<"Student Infomation: "<<std::endl;
34     std::cout << "username : " << FLAGS_username <<std::endl;
35         std::cout <<"age: " << FLAGS_age << std::endl;
36     std::cout <<"grade: "<< FLAGS_grade <<std::endl;
37     return 0;
38 }

使用命令编译:

g++ gflag.cc -o gflags -lgflags  -lpthread

执行命令:

解析:

   当我们age<16是,check返回的是False,gflag注册失败,程序启动失败. 当大于16时,程序正常启动.

时间: 2024-10-14 14:09:41

google gflag使用方法举例的相关文章

JSON使用方法举例

例子1: 1 import net.sf.json.JSONArray; 2 import net.sf.json.JSONObject; 3 4 /** 5 * Created by leiqiang on 2014/7/25. 6 */ 7 public class JSONObjectSample { 8 // 创建JSONObject对象 9 private static JSONObject createJSONObject() { 10 JSONObject jsonObject =

js调用php和php调用js的方法举例

js调用php和php调用js的方法举例1 JS方式调用PHP文件并取得php中的值 举一个简单的例子来说明: 如在页面a.html中用下面这句调用: <script type="text/javascript" src="b.php?action=test"></script> <script type="text/javascript" > alert(jstext); </script> 在b

python之if使用方法举例

if使用方法举例: import random #随机生成1-100的整数 n = random.randint(1, 100) if n > 50: print(n, "> 50") elif n == 50: print(n, "=50") else: print(n, "< 50")

JQuery.BlockUI使用方法举例

JQuery.BlockUI是众多JQuery插件弹出层中的一个,它小巧(原版16k,压缩后10左右),容易使用, 功能齐全,支持Iframe,支持Modal,可定制性高也意味他默认谦虚的外表. jQuery的BlockUI插件可以让你在使用AJAX时模拟同步行为,锁定浏览器(模式窗口).当被激活时,它会防止用户活动的页面(或页面的一部分),直到它被禁用. BlockUI添加元素的DOM,给它的外观和阻止用户交互行为. 1.首先引入插件     <script src="jquery.mi

Android中的关于MDM中的几个方法举例

Android中的关于MDM中的几个方法举例 首先介绍一下MDM是什么的缩写,MDM是什么? MDM 是 (Mobile Device Management )的缩写,中文翻译过来就是移动设备管理.随着移动设备计算能力地增强,移动设备携带越来越方便,移动化办公已经成为一种潮流,一种趋势,企业对移动设备管理的需求越来越急切.MDM是企业IT 向移动互联网过渡的平台技术,帮助企业将IT管理能力从传统的 PC 延伸到移动设备甚至 移动应用APP . 随着时间的发展, MDM 厂商逐渐扩展出 MAM (

【转】基于Unity3D的Android游戏添加google广告的方法——使用AdMob

前几天由于项目需要,要搞定在游戏中添加广告的方法,在U吧中搜到了这篇文章, unity3d开发的android应用中加入AD系统的具体步骤 进而获得首发出处 http://tank2308635.iteye.com/blog/1126047 从该文中找到AdMob插件的出处 AdMob plugin that works in Unity 3.2 首先尝试了同胞的方法,折腾了大概一天时间吧,未果,老是报错,最后没办法,就想,从根上解决吧,于是开始看老外的帖子,说实话英文技术贴比小说什么的好理解多

java中使用jdbcTemplate的query方法举例与总结

在java中使用JdbcTemplate进行查询时,可以使用queryForXXX()等方法 1.jdbcTemplate.queryForInt() 和 jdbcTemplate.queryForLong() //查询数据记录的条数,返回一个int(数据范围较小)或者一个Long(数据范围较大)类型 String todayCountTopicsSql="SELECT count(*) FROM mcp_forum_post"; Integer todayCount=jdbcTemp

JS调用PHP 和 PHP调用JS的方法举例

1.JS方式调用PHP文件并取得PHP中的值举一个简单的例子来说明:如在页面test_json1中用下面这句调用: <script type="text/javascript" src="http://callmewhy.sinaapp.com/index.php/test/testjson2"> </script> <script type="text/javascript" > alert(jstext);

Google正确搜索方法

以下是目前所有的Google搜索命令语法,它不同于Google的帮助文档,因为这里介绍了几个Google不推荐使用的命令语法.大多数的Google搜索命令语法有它特有的使用格式,希望大家能正确使用.我用不同颜色标注了不同的语法命令,绿色的较为常用的命令,黄色的是不常用但却非常有用的命令,蓝色是Google不推荐使用的命令. allinanchor: anchor是一处说明性的文字,它标注说明了这个链接可能跳转到其它的网页或跳转到当前网页的不同地方.当我们用allinanchor提交查询的时候,G