[yichi@yichi tmp]$ wget http://google-gflags.googlecode.com/files/gflags-1.5.tar.gz[yichi@yichi tmp]$ tar zxvf gflags-1.5.tar.gz[yichi@yichi tmp]$ cd gflags[yichi@yichi gflags-1.5]$ ./configure –prefix=$HOME/google-library[yichi@yichi gflags-1.5]$ make j=4 & make install
// Copyright (c) 2011, D-Media Communication Technology Inc. // All rights reserved. // // // --- // Author: Yichi Zhang <zyichi@gmail.com> // // File content description here #include "server.h" #include <google/gflags.h> #include <string> #include <stdio.h> DEFINE_bool(memory_pool, false , "If use memory pool" ); DEFINE_bool(daemon, true , "If started as daemon" ); DEFINE_string(module_id, "" , "Server module id" ); DEFINE_int32(http_port, 80, "HTTP listen port" ); DEFINE_int32(https_port, 443, "HTTPS listen port" ); int main( int argc, char ** argv) { ::google::ParseCommandLineFlags(&argc, &argv, true ); // XXX NOTE: Should add 'FLAGS_' prefix. printf ( "Server module id: %s\n" , FLAGS_module_id.c_str()); if (FLAGS_daemon) { printf ( "Run as daemon: %d\n" , FLAGS_daemon); } if (FLAGS_memory_pool) { printf ( "Use memory pool: %d\n" , FLAGS_daemon); } Server server; return 0; } |
server.h
// Copyright (c) 2011, D-Media Communication Technology Inc. // All rights reserved. // // // --- // Author: Yichi Zhang <zyichi@gmail.com> // // File content description here #include <google/gflags.h> #include <stdio.h> // Declare, defined in 'main.cc'. DECLARE_int32(http_port); DECLARE_int32(https_port); class Server { public : Server() { // XXX NOTE: Should add 'FLAGS_' prefix. printf ( "HTTP listen port: %d\n" , FLAGS_http_port); printf ( "HTTPS listen port: %d\n" , FLAGS_https_port); } virtual ~Server() {} private : ; }; |
[yichi@yichi gflags-sample]$ g++ -o gflags-sample main.cc -I $HOME/google-library/include -L $HOME/google-library/lib -lgflags
[yichi@yichi gflags-sample]$ LD_LIBRARY_PATH=$HOME/google-library/lib:$LD_LIBRARY_PATH ./gflags-sampleServer module id:Run as daemon: 1HTTP listen port: 80HTTPS listen port: 443
[yichi@yichi gflags-sample]$ LD_LIBRARY_PATH=$HOME/google-library/lib:$LD_LIBRARY_PATH ./gflags-sample -module_id="server_007" -daemon=true -http_port=8080 -https_port=4443Server module id: server_007Run as daemon: 1HTTP listen port: 8080HTTPS listen port: 4443
[yichi@yichi gflags-sample]$ LD_LIBRARY_PATH=$HOME/google-library/lib:$LD_LIBRARY_PATH ./gflags-sample -module_id "server_007" -daemon true -http_port 8080 -https_port 4443Server module id: server_007Run as daemon: 1HTTP listen port: 8080HTTPS listen port: 4443
[yichi@yichi gflags-sample]$ LD_LIBRARY_PATH=$HOME/google-library/lib:$LD_LIBRARY_PATH ./gflags-sample –helpgflags-sample: Warning: SetUsageMessage() never calledFlags from main.cc:-daemon (If started as daemon) type: bool default: true-http_port (HTTP listen port) type: int32 default: 80-https_port (HTTPS listen port) type: int32 default: 443-memory_pool (If use memory pool) type: bool default: false-module_id (Server module id) type: string default: ""
联系客服