gflags
一、安装配置
下载地址:
https://code.google.com/p/gflags/downloads/list
解压安装:
tar zxvf gflags-2.0.tar.gz && cd gflags-2.0 && ./configure && make
头文件目录为 /src/gflags ,链接库为 .libs/libgflags.{a,so}
简单 Demo 如下:
#include <iostream> #include <gflags/gflags.h> DEFINE_bool(isvip, false, "If Is VIP"); DEFINE_string(ip, "127.0.0.1", "connect ip"); DECLARE_int32(port); DEFINE_int32(port, 80, "listen port"); int main(int argc, char** argv) { google::ParseCommandLineFlags(&argc, &argv, true); std::cout<<"ip:"<<FLAGS_ip<<std::endl; std::cout<<"port:"<<FLAGS_port<<std::endl; if (FLAGS_isvip) { std::cout<<"isvip:"<<FLAGS_isvip<<std::endl; } google::ShutDownCommandLineFlags(); return 0; }
链接时使用 -gflags ,运行使用 ./gflags -ip="211.152.52.106" -port=8080 -isvip=true ,但是很遗憾,使用 valgrind 检测有内存泄漏。
输出结果如下:
ip:211.152.52.106 port:8080 isvip:1
官方文档:
http://google-gflags.googlecode.com/svn/trunk/doc/gflags.html