c++ 日志库之 —— SPDLog
简介
SPDLog 是一个开源的、快速的、仅有头文件的C++11 日志库,它提供了向流、标准输出、文件、系统日志、调试器等目标输出日志的能力。它支持的平台包括Windows、Linux、Mac、Android;有一下特性:
非常快,性能是它的主要目标;
仅包括头文件;
日志的格式化处理使用开源的fmt库;
可选的printf语法支持;
非常快的异步模式(可选),支持异步写日志;
自定义格式;
条件日志;
多线程/单线程日志;
各种日志目标:可对日志文件进行循环输出;可每日生成日志文件;支持控制台日志输出(支持颜色);系统日志;Windows debugger;较容易扩展自定义日志目标;
支持 ...
将Libcef打造为win32控件(非MFC)
初识Libcef
Libcef 的完整发行包中自带示例代码,可以用cmake生成工程后编译运行。我的目的将cefclient编译为DLL,由它与libcef打交道,最终的exe与所有dll互无编译依赖,通过 GetProcAddress 动态对接。
参考:notepad++插件、miniblink-wke控件的实现。
首先,编译 cefclient.exe,记得关闭“treat warning as error”。关闭这种选项在项目设置里的"all options"中搜索即可。
编译成功后,显示出有几个按钮、一些菜单的简单浏览器界面。
2020年了,LIBCEF的演示项目一 ...
常见的Shell 与 释伴(#!) Shebang 符号
常见的Shell
shell 介绍
Linux 是一个开源的操作系统,由分布在世界各地的多个组织机构或个人共同开发完成,每个组织结构或个人负责一部分功能,最后组合在一起,就构成了今天的 Linux。例如:
Linux 内核最初由芬兰黑客 Linus Torvalds 开发,后来他组建了团队,Linux 内核由这个团队维护。
GNU 组织开发了很多核心软件和基础库,例如 GCC 编译器、C语言标准库、文本编辑器 Emacs、进程管理软件、Shell 以及GNOME 桌面环境等。
VIM 编辑器由荷兰人 Bram Moolenaar 开发。
Windows、Mac OS、Android 等操作系统 ...
Git 的三个区域详解
Git | merge |
Linux中的Diff和Patch
本文主要记录两个命令的学习情况:diff 和 patch。diff 和 patch 是一对工具,使用这对工具可以获取更新文件与历史文件的差异,并将更新应用到历史文件上。在数学上说,diff就是对两个集合的差运算,patch就是对两个集合的和运算。
简单的例子
使用这个例子来说明如何进行文件的对比和打补丁。
这里有两个文件 original.txt 和 updated.txt,如下:
1234567#include <stdio.h>function old(){ printf("This is a file\n"); ret ...
电子笔记及文本阅读软件集合
电子笔记 | 阅读软件 |
语义化版本 2.0.0
SemVer
EV代码签名证书对软件有多重要?
OV | EV |