简介
gflags是Google的一个开源项目,用于解析程序运行参数。gflags简单易用,它的好处在于统一配置格式,减少开发工作量。在工程实践中,gflags在简化开发和测试方面表现非常出色,它还有一个很棒的功能是支持多人合作开发。gflags在2008年首次推出,至今已有10年时间,目前有很多公司都在用gflags。
使用
下面的例子简单展示了C++语言中gflags的基本用法。
simple_gflags.cpp
#include <iostream>
#include "gflags/gflags.h"
// 定义gflags
DEFINE_bool(foo, false, "a simple gflags named foo, default value is flase, wuruilong, 2018-08-16");
DEFINE_int32(thread_num, 10, "thread number, default value is 10, wuruilong, 2018-08-16");
int main(int argc, char **argv) {
// 解析gflags参数,只需要1行代码
google::ParseCommandLineFlags(&argc, &argv, true);
// 使用gflags
if (FLAGS_foo) {
std::cout << "foo is true" << std::endl;
} else {
std::cout << "foo is false" << std::endl;
}
// 使用gflags
int thread_num = FLAGS_thread_num;
std::cout << "thread number:" << thread_num << std::endl;
return 0;
}
编译:g++ simple_gflags.cpp -I./gflags-2.0/src -L./ -lgflags
运行: