源码下载:
git clone https://github.com/gflags/gflags.git
cmake-gui 默认编译即可
编译生成 debug/release 版本
创建测试 demo
#include <gflags/gflags.h>
#include <iostream>
using namespace std;
DEFINE_bool(is_bool, false, "default false");
DEFINE_string(is_string, "gflags", "default gflags");
int main(int argc, char ** argv)
{
// 输出参数
google::ParseCommandLineFlags(&argc, &argv, true);
if (FLAGS_is_bool)
{
cout << "\r\n\t FLAGS_is_bool : true." << endl;
}
else
{
cout << "\r\n\t FLAGS_is_bool : false." << endl;
}
if (FLAGS_is_string.empty())
{
cout << "\r\n\t FLAGS_is_string : empty." << endl;
}
else
{
cout << "\r\n\t FLAGS_is_string : " << FLAGS_is_string << endl;
}
getchar();
return 0;
}
附加依赖项需要添加 :
?
?命令参数为空时, 输出默认值
?命令参数不为空时, 输出参数值
输出如图
终端或者脚本调用, 格式如下
demo --is_bool=true --is_string=shisen
?
|