Google Gflags可以用于参数传递,它是以全局变量的形式进行参数传递,即代码中任何一处都可以调用到它。同时它也提供规范化的参数解析,可以用于主函数的传参。
#include <gflags/gflags.h>
// 三个变量分别是文件名,默认值,说明
DEFINE_string(topic_config, "topic_config.yaml", "Channel Name File");
// 注意,上面定义的是topic_config,生成的变量却是FLAGS_topic_config
int main(int argc, char** argv) {
google::ParseCommandLineFlags(&argc,&argv,true);
std::string a = FLAGS_topic_config;
}
显示传参
args="--topic_config ~/topic_config.yaml"
隐式传参
./a.out --topic_config ~/topic_config.yaml