常用开源库实战以及基础设施搭建
文章平均质量分 59
常用开源库实战,以及常用轮子、基础设施开发
奇妙之二进制
csdn博客专家,C/C++领域优质创作者,抖音搜奇妙之二进制,专注于Linux C/C++、嵌入式Linux开发,偶尔谈谈人生,目前致力于完成大约500篇的linux C/C++开发知识体系库,所有的文章都会一直保持更新(优化内容、排版),想学习的可以订阅我的专栏,也可以关注Linux 世界。
展开
-
glog体验第一天(0)glog介绍和安装
该命令将自动安装glog库及其相关依赖,并提供bin和doc目录的可执行文件、文档等资源。如果一切正常,应该会看到当前安装了glog库的版本号、维护者信息和其他相关参数。原创 2023-08-18 22:57:37 · 2220 阅读 · 0 评论 -
C++ yaml解析实战暨yaml-cpp库使用(4)封装成工具类
xxx原创 2021-04-19 11:01:31 · 1384 阅读 · 1 评论 -
protocolbuf协议详解
待写原创 2021-07-07 15:12:11 · 942 阅读 · 1 评论 -
C++造轮子飙车现场(4)开发一个定时器框架,支持周期性执行任务,取消任务
工作线程存在同时竞争一把锁,可以考虑使用无锁队列优化。任务4周期性执行,间隔4000ms。任务1周期性执行,间隔500ms。原创 2023-03-27 23:05:08 · 506 阅读 · 1 评论 -
C++造轮子飙车现场(3)无锁队列实现,提供两个版本,chatgpt鼎力相助!
弹出从头部弹出,比较简单,插入向尾部插入,稍微复杂。原创 2023-03-20 01:03:31 · 473 阅读 · 0 评论 -
C++造轮子飙车现场(2)基于std::list的线程安全list封装,chatgpt鼎力相助!
由于我们的list底层是std::list,所以基本的接口测试我就不贴了,太多了,基本上没有太大问题,我们主要针对多线程进行测试。以下代码由奇妙之二进制和chatgpt共同创作。原创 2023-03-19 22:01:39 · 821 阅读 · 0 评论 -
C++造轮子飙车现场(1)无锁、有锁环形队列实现
先看带锁的实现。原创 2023-03-19 00:42:57 · 1932 阅读 · 0 评论 -
gconf/dconf实战编程(3)利用dconf库读写配置实战以及诸多配套工具演示
GSetings实际上是一套高级API,用来操作dconf。dconf存储着GNOME3的配置,是二进制格式。它做为GSettings的后端系统存在,暴露出低级API。在GNOME2时代,类似的角色是gconf,但它是以XML文本形式存储。更接地气的说法是,dconf是GNOME3的注册表,gsettings是一个查询、读取、设置注册表键值的命令行工具。GSettings由GIO库提供,是管理应用程序配置的一种方法。............原创 2022-07-31 21:16:43 · 764 阅读 · 0 评论 -
gconf/dconf实战编程(2)利用gconf库读写配置实战以及诸多配套工具演示
用gconftool工具插入一个key-value用于读取。原创 2022-07-31 14:09:43 · 1028 阅读 · 0 评论 -
gconf/dconf编程实战(1)gconf和dconf介绍
gsettings,用于编辑设置存储后端的CLI工具,在Linux上它使用dconf,在Windows上它使用注册表,在OSX上它使用本机数据存储。gconf,基于XML的数据库(后端系统),它有一个界面编辑器gconf-editor。主要是在基于gnome2的Linux操作系统中,比较老。dconf,基于BLOB的数据库(后端系统),它有一个界面编辑器dconf-editor,比较新。每项配置都有一些固有属性,例如类型,描述等,这个叫schema。gconf也有自己的前端工具,gconftool。....原创 2022-07-31 23:15:11 · 1027 阅读 · 0 评论 -
dbus系列教程(2)理解dbus核心概念
文章目录1、Bus Name1.1 可能有多个备选连接的公共名1.2 命名规则1.3、每个连接都有一个唯一名2、Object和Object Paths3、Interfaces4、Methods5、Message6 总结我们前面介绍了什么是dbus,以及引入了消息总线dbus-daemon后台进程。dbus为应用程序提供了一个抽象层,以公开它们的功能和可能性,简单理解就是远程调用。通过 D-Bus 发送消息通常包含如下步骤(正常情况下):创建和发送消息给后台dbus-daemon进程后台dbus原创 2022-03-11 00:31:58 · 3368 阅读 · 0 评论 -
dbus系列教程(1)dbus是什么东西?
接口文档https://www.freedesktop.org/software/systemd/man/sd-bus.htmlbusctldbus-daemondbus-sendsd-eventlibdbus10万字长文讲清dbus1、dbus是什么东西?1.1 什么是dbusD-Bus( 其中 D 原先是代表桌面“ Desktop ”的意思 ) ,即:用于桌面操作系统的通信总线。现在逐渐被引入到嵌入式系统中,不过名字还是保留原先的叫法而已。D-Bus是针对桌面环境优化的IPC(in原创 2022-03-10 23:50:51 · 2857 阅读 · 0 评论 -
gRPC C++从入门到无敌教程(1)gRPC核心概念
文章目录概述服务定义使用接口同步与异步RPC 生命周期一元 RPC服务器流式处理 RPCClient streaming RPC双向流式处理 RPC截止时间/超时RPC 终止元数据通道概述服务定义与许多 RPC 系统一样,gRPC 基于定义服务的想法,指定可以使用其参数和返回类型远程调用的方法。默认情况下,gRPC 使用[ protocol buffers](https://developers.google.com/protocol-buffers)作为接口定义语言 (IDL),用于描述服务接口和有原创 2022-03-26 16:59:40 · 4607 阅读 · 0 评论 -
gRPC C++从入门到无敌教程(0)什么是gRPC
文章目录1、什么是rpc2、gRPC概述3、使用protocol buffers4、protocol buffer版本1、什么是rpc在聊gRPC之前,我们先了解什么RPC。RPC,remote procedure call,远程方法调用,就是像调用本地方法一样调用远程方法。RPC 框架说白了就是让你可以像调用本地方法一样调用远程服务提供的方法,而不需要关心底层的通信细节。简单地说就让远程服务调用更加简单、透明。RPC包含了客户端(Client)和服务端(Server)常见的RPC框架有..原创 2022-03-26 14:01:11 · 5365 阅读 · 0 评论 -
json解析教程(3)C++ json解析实战之读写json文件
#include "json/json.h"#include <fstream>#include <iostream>class JsonParse {public: static bool ParseJsonFromFile(const std::string &filename, Json::Value *root) { std::ifstream ifs; ifs.open(filename); Jso原创 2021-02-27 15:36:37 · 739 阅读 · 2 评论 -
json解析教程(1)程序员不得不掌握的数据格式json
文章目录概念pairobjectarray概念JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Per原创 2021-02-27 13:16:16 · 753 阅读 · 3 评论 -
C++ yaml解析实战暨yaml-cpp库使用(3)yaml-cpp库生成yaml格式文件
#include <fstream>#include <yaml-cpp/yaml.h>#include <iostream>#include <assert.h>int main(){ YAML::Node node; assert(node.IsNull()); //初始化的节点是Null类型 node["key"] = "value"; //当你给它赋值键值对,它转变为Map类型 //node.forc原创 2021-04-10 00:36:02 · 2025 阅读 · 4 评论 -
C++ yaml解析实战暨yaml-cpp库使用(2)yaml-cpp库解析yaml格式文件
xxx原创 2021-04-08 23:59:03 · 1992 阅读 · 3 评论 -
C++ yaml解析实战暨yaml-cpp库使用(1)认识yaml格式
介绍YAML 的意思是:“Yet Another Markup Language”(另一种标记语言)。YAML 的语法和其他高级语言类似,并且可以简单表达清单(数组)、散列表,标量等数据形态。它使用空白符号缩进和大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种配置文件、倾印调试内容、文件大纲(例如:许多电子邮件标题格式和YAML非常接近)。YAML 的配置文件后缀为 .yml,如:runoob.yml 。基本语法大小写敏感使用缩进表示层级关系缩进不允许使用tab,只允许空格缩进的空原创 2021-04-08 23:22:14 · 2315 阅读 · 2 评论