当前位置: 首页 > news >正文

gflags框架安装与使用

gflags框架安装

sudo apt-get install libgflags-dev

gflags框架的使用

main

#include <gflags/gflags.h>
#include<iostream>
//定义参数
DEFINE_string(ip,"127.0.0.1","这是服务器的ip地址,格式为127.0.0.1");
DEFINE_int32(port,8080,"这是服务器的端口号,格式是8080");
DEFINE_bool(debug_enable,true,"是否启动debug模式,格式是:true/false");int main(int argc,char*argv[])
{//要想通过解析命令行参数来设置到定义的变量中,需要告诉可执行程序去处理解析命令行传入的参数google::ParseCommandLineFlags(&argc, &argv, true); //上面的定义的参数名称并不是真正的全局变量,gflags内部会将名字前面统一添加FLAGS_std::cout<<FLAGS_ip<<std::endl;std::cout<<FLAGS_port<<std::endl;std::cout<<FLAGS_debug_enable<<std::endl;return 0;
}

makefile

main: main.ccg++ -std=c++17 $^ -o$@ -lgflags -lspdlog -lpthread

编译运行:
在这里插入图片描述
通过命令行参数来代替内部变量
在这里插入图片描述
通过定义并导入配置文件,来代替内部变量
main.conf
在这里插入图片描述
在这里插入图片描述

http://www.dtcms.com/a/337867.html

相关文章:

  • 手机视频怎么提取音频?3步转成MP3,超简单!
  • Vue 中 v-for 的使用及 Vue2 与 Vue3 的区别
  • Vue 3中watch的返回值:解锁监听的隐藏技巧
  • Navicat 无法登录时找回 SQL 文件的方法
  • Tidio实时聊工具
  • Linux上安装PostgreSQL-源码编译安装备份恢复(超详细)
  • 视觉语言导航(4)——强化学习的三种方法 与 优化算法 2.43.4
  • IP白名单、网段白名单
  • Docker小游戏 | 使用Docker部署文字风格冒险网页小游戏
  • 如何选择一个好的软件成分分析工具?
  • 【计算机视觉与深度学习实战】05计算机视觉与深度学习在蚊子检测中的应用综述与假设
  • 【java中springboot引入geotool】
  • apisix负载均衡测试
  • 负载均衡终极指南:从流量分发到云原生架构的核心解析
  • Spring学习笔记:@Async Spring异步任务的深入学习与使用
  • 基于CentOS 7.6搭建GitLab服务器【玩转华为云】
  • TVS二极管选型指南
  • 构建高效智能语音代理:技术架构、实现细节与API服务推荐
  • 5G + AI + 云:电信技术重塑游戏生态与未来体验
  • Java基础的128陷阱
  • BAS16XV2T1G ON安森美半导体 高速开关二极管 电子元器件IC
  • 【本地部署问答软件Apache Answer】Answer开源平台搭建:cpolar内网穿透服务助力全球用户社区构建
  • JVM 垃圾回收基础原理:深入探索内存自动管理机制
  • 决策树学习报告
  • 决策树的基本学习
  • 接口文档——前后端分离开发模式下的“契约书“
  • 科伦博泰:商业化引爆点已至,冲向Biopharma的“最后一公里”
  • B4265 [朝阳区小学组 2019] rectangle
  • JavaWeb前端02(JavaScript)
  • Python常用的GUI模块