自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 spdlog源码解读(三)

此外在程序的不同部分,我们可能需要使用相同的日志记录器实例来记录日志,如果将日志记录器实例作为参数传递给不同的函数或类会让代码变得繁琐和难以维护。又是什么东西呢,它封装了各种输出目的地,比如文件、控制台,提供了一些通用的方法打日志,用户可以通过集成它来实现多输出的打日志。来实现日志使用单例模式,确保全局只有一个实例,也方便管理和访问不同类型的日志记录器实例。我们不可能只支持异步,同步顺序写也很重要,这里我们创建两个类,一个同步类。在定义两个子类,提供两个功能,一个提供日志文本写文件,一个负责彩色输出。

2024-03-27 16:04:34 253

原创 spdlog源码解读(二)

从这一章开始,我们得考虑多线程写日志了,当我们的应用程序开始处理更多的并发操作时,日志系统也需要升级以应对多线程环境。在多线程写日志的情境下,我们面临的主要挑战是如何保证日志数据的一致性和完整性,同时又不过度牺牲性能。这个队列通常是一个固定大小的环形队列,当队列满时,它将根据配置的溢出策略(如阻塞、丢弃最旧的消息或丢弃新消息)来处理新的日志消息。

2024-03-13 20:10:25 604

原创 spdlog源码解读

为了深入理解 spdlog 的设计和实现,让我们从最基础的日志记录方式出发,逐步引入 spdlog,探讨其核心代码及设计决策背后的考虑。

2024-03-13 12:14:05 809

原创 解决vscode插件todo tree中文乱码问题

在设置里面找到ripgrep args配置,在结尾添加-E gbk。

2023-10-26 17:31:51 65 2

原创 docker装的wordpress如何改变上传上限

docker装的wordpress在哪改上限

2022-01-13 08:28:00 344

原创 巴科斯范式(Backus-Naur Form, BNF)

什么是巴科斯范式(Backus-Naur Form, BNF)描述语言的语法规则游戏规则在双引号中的东西代表它本身双引号外的字代表语法<必选项>[可选项]{0次或多次}| 代表 or::= 读作定义为递归单词 = 一个字母或多个字母单词::=<字母>|<字母><单词>简单例子email的语法例: [email protected]规则: 名字@名字.域名email ::= <name> "@" &lt

2021-09-24 23:39:40 1820

原创 lpeg攻略

文章目录前言一、lpeg是什么?二、使用步骤1.引入库2.起别名3.匹配例子4.多次匹配总结前言最近看到lua的一个库lpeg,记录一下学到的提示:以下是本篇文章正文内容一、lpeg是什么?LPeg文本匹配的工具,比Lua原生的字符串匹配和标准正则表达式更优异。二、使用步骤1.引入库代码如下(示例):local lpeg = require "lpeg"2.起别名代码如下(示例):--起别名match = lpeg.matchP = lpeg.PS = lpeg.SR

2021-08-01 14:11:52 1390 2

原创 树莓派-获取温度内存信息

脚本代码#文件名:status.py 路径:~/import os#Get CPU temperaturedef getCPUTemperature(): with open("/sys/class/thermal/thermal_zone0/temp") as tempFile: return str(float(tempFile.read())/1000)#Get RAM statusdef getRAMInfo(): p = os.popen('fr

2020-10-11 10:57:03 216

原创 从零开始的linux基础

界面首先接触的是界面,桌面应用程序走的路线是:内核->x window系统->桌面客户端前两个没什么版本,桌面客户端有:KDE,GNOME,XFCE,LXDE等等(Windows就一家)终端你ctrl+alt+t(ctrl+r cmd)打开的就是伪终端(图形界面下的黑框),你ctrl+alt+F2~6打开的叫真终端(tty2~6,纯黑命令行),因为前者是图形界面,所以看起来假,而后者是纯命令行,看起来逼格高,更像直接去控制电脑。终端和控制台的区别:现在是文字游戏,用来显示的叫终端,可以

2020-08-02 20:42:54 183

原创 从零开始的leetcode:股票问题

文章目录股票问题任务描述解决思路leetcode题解leetcode-121leetcode-122leetcode-123leetcode-188股票问题任务描述大意就是有个数组 prices 代表每天股票价格,共 n 天,计算能获取的最大利润。规则:总共能交易 i(i = 1,2,inf) 次(每次交易完成有 j 天的冷却时间,每次交易扣除 k 块钱手续费)解决思路动态规划三步曲:...

2020-04-20 23:47:39 96

原创 从零开始的leetCode:数组去重

目录数组去重任务描述解决思路时间复杂度分析数组去重任务描述给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成,不需要管后面的数。例:给定数组 nums = [1,1,2],输出:2 且nums = [1,2,-]例:给定数组 nums...

2020-04-19 23:20:45 526

原创 从零开始的leetcode:两数之和

目录两数之和任务描述解决思路时间复杂度分析两数之和任务描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。例:给定:[2,7,11,15],找和为9数的位置输出:[0,1]解决思路用键值对unordered_map存数组key...

2020-04-18 22:48:38 89

原创 5分钟回忆快速排序

快排任务描述算法思路如何瞎选怎么丢来丢去坑位法交换法复杂度分析最好情况最坏情况任务描述给我从小到大排序!!!算法思路 首先“瞎选”一个值,找到其最终位置,即排好序后它在哪,并把小于它的丢左边,大于的丢右边。对左右子部分重复操作,直至子部分都只剩一个元素,则所有元素都找到了其该在的位置。如何瞎选第一个?如果数组正好是从大到小的,那我每一轮都要撸(比较)nnn个数才能找到选的数应该...

2020-04-03 23:51:27 155

原创 C++面试常问知识点

[toc]C和C++的区别设计思想上C++是面向对象的语言,而C是面向过程的结构化编程语言语法上C++具有封装、继承和多态三种特性C++相比C,增加多许多类型安全的功能,比如强制类型转换、C++支持范式编程,比如模板类、函数模板等staticc/c++共有全局变量表明一个全局变量只对定义在同一文件中的函数可见。局部变量表明该变量的值不会因为函数终止而丢失。但...

2019-10-19 09:07:32 267

原创 背包问题,简单明了,快速回忆

问题描述有N种物品和一个容积为V的背包,每种物品i都有(1,无限,有限k[i])个,都有体积cost[i]和价值value[i],问如何选取物品使得放入背包的物品价值之和最大。解决方法画表,横坐标c表示剩余容积,纵坐标i表示物品编号填表,表中的值B(i,c)表示的是在剩余空间为c的情况下,取前i个物品能拿到的最大价值取出B(N,V)即在空间为V的背包中,在前N件物品中挑选所能拿的...

2019-09-17 13:16:12 301

原创 qt5.10.1 ubuntu18.04 mysql安装与连接过程和遇到的问题

安装MySQL sudo apt-get install mysql-server sudo apt-get install mysql-client问题1: mysql -u root -pmysql-5.7后安装完会自动生成密码,如果你直接敲回车会出现 ERROR 1045 (28000): Access denied for user ‘root’@...

2018-05-06 23:13:03 741

原创 已装VC后matlabR2017中mex -setup报错问题

matlab下输入mex -setup -v 然后你会看到一排列表里面有matlab查找各版本它认为VC所在路径,找到你的VC版本的环境变量看是不是正确,例:正在查找环境变量 ‘VS120COMNTOOLS’…是(‘D:\develop\VS2013\Common7\Tools’)。如果这里的路径不是你VC的路径,更改系统的环境变量VS120COMNTOOLS的值,然后重启MATLAB就可以了。...

2018-03-15 18:42:02 1080

原创 算法-动态连通性

概念简单点理解就是连接两点,如果已经是连通的则忽略,比如下图:应用网络连通性: 判断大型计算机网络中,两台计算机是否需要新连接才能通信变量名等价性: 能判断两变量名是否等价数学集合: 两个数是否在一个集合中实现思路要实现这样的算法需要下面方法:初始化N个点,给它们标号得到一个点所属的标号连接两个点判断两个点是否连通连通分量的数量于是得到下面的一份API:成本模型各操作所需访

2017-02-19 16:02:37 772

matlab混合编程 QT 动态链接库 工程文件

用的是matlab2017b,win10,QT creator 5.10 matlab绑的编译器是VS2015 qt选的是msvc2015 一个简单的测试文件 .m文件是一个简单加法函数 一般卡在初始化那步 主要看pro配置就行

2018-04-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除