gflag使用

Posted 后端技术小屋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gflag使用相关的知识,希望对你有一定的参考价值。

#include <gflags/gflags.h>
#include <iostream>

// 声明全局flag
DEFINE_bool(my_bool, false, "bool flag");
DEFINE_int32(my_int32, 1, "int32 flag");
DEFINE_int64(my_int64, 2, "int64 flag");
DEFINE_uint64(my_uint64, 3, "uint64 flag");
DEFINE_double(my_double, 4.0, "double flag");
DEFINE_string(my_string, "5", "string flag");

int main(int argc, char* argv[])
{
    // 设置版本号 可通过./argv[0] --version查看
    google::SetVersionString("1.3.1");
    // 解析命令行参数
    // 如果参数3是true的话 该函数会将选项及其对应参数删除
    // 否则选项及其参数将被保留, 并且不带选项的参数将被重新排列到末尾
    // 比如 ./foo a b --my_bool c d
    // 如果参数3为true, 该函数执行之后, argv为./foo a b c d, argc=5
    // 如果参数3为false, 该函数执行之后,argv为./foo --my_bool a b c d, argc=6
    google::ParseCommandLineFlags(&argc, &argv, false);

    // bool值flag
    std::cout << FLAGS_my_bool << std::endl;

    // int32类型的flag
    std::cout << FLAGS_my_int32 << std::endl;

    // int64类型的flag
    std::cout << FLAGS_my_int64 << std::endl;

    // uint64类型的flag
    std::cout << FLAGS_my_uint64 << std::endl;

    // double类型的flag
    std::cout << FLAGS_my_double << std::endl;

    // string类型的flag
    std::cout << FLAGS_my_string << std::endl;

    return 0;
}

 

以上是关于gflag使用的主要内容,如果未能解决你的问题,请参考以下文章

google gflag使用方法举例

Python中使用gflags

用Google的gflags优雅的解析命令行参数

用Google的gflags优雅的解析命令行参数

Google开源命令行解析工具gflags

gflag使用