在gflags的参数中,可以使用--flagfile指定flag的配置文件,而不需要在程序运行过程中指定参数。当flagfile为空时,程序指定默认值方法。以解析文件中的flags
主要代码:

gflags::SetVersionString("1.0.0");
    google::ParseCommandLineFlags(&argc, &argv, true);
    if (FLAGS_flagfile.empty()) 
    {
        google::SetCommandLineOption("flagfile", "/home/const/flag.cfg");
        cout<<"FLAGS_flagfile is empty. use default flag file.",<<endl;
    }

google::SetCommandLineOption("flagfile", "gflags_sample.flags");
FLAGS_flagfile更新后,会自动重新读取该文件并更新文件里的gflags。

该方法可以起到reload的效果,后者覆盖前者,如果后面调用的方法没有定义某flag,那么不影响前面方法已经解析出的value,类似于merge的效果。

本文链接地址:https://const.net.cn/560.html

标签: gflags

添加新评论