[关闭]
@nrailgun 2015-09-14T18:33:10.000000Z 字数 663 阅读 2751

C++:使用 gflags 解释命令行参数

程序设计


安装

  1. apt-get install libgflags-dev

编译参数

  1. LIBS += lgflags

定义命令行参数

参数通过形如 DEFINE_type(var, default, prompt) 的宏定义。具体各个类型定义如下:

定义 数据类型
DEFINE_string string
DEFINE_bool bool
DEFINE_int32 int32_t
DEFINE_int64 int64_t
DEFINE_uint64 uint64_t
DEFINE_double double

解释参数

  1. #include <stdio.h>
  2. #include <gflags/gflags.h>
  3. DEFINE_string(language, "English", "Whatever~~~");
  4. int main(int argc, char *argv[])
  5. {
  6. google::SetUsageMessage("You should not use this software!\n");
  7. google::ParseCommandLineFlags(&argc, &argv, true);
  8. if (FLAGS_language == "English") {
  9. google::ShowUsageWithFlags(argv[0]);
  10. }
  11. printf("%s\n", FLAGS_language.c_str());
  12. return 0;
  13. }

传递参数

方式和普通程序没有差别:

  1. procname --language='Chinese'

或者:

  1. procname -language 'Chinese'
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注