spdlog源码阅读(二):Logger类的实现

日志对象创建

全局默认logger

spdlog库通过logger类提供日志接口,而logger的创建有多种方式。第一种方式是全局默认logger,例如,在官方example日志使用样例中提供的默认的日志调用:

阅读更多

spdlog源码阅读(一):简介

spdlog是一个跨平台、快速和轻量的C++日志库,其完全header-only实现和基于C++11实现的特性使其可以很好的集成到任何项目中。项目地址:https://github.com/gabime/spdlog

spdlog短小精悍,代码行数在2w左右,且代码风格优秀,符合现代C++编程规范,有许多值得学习的实践,遂开坑对该源码开始阅读和理解。

阅读更多
多线程内存模型(3):锁,原子变量

多线程内存模型(3):锁,原子变量

锁是多线程编程中最常用的同步机制,用于保护共享资源,防止多个线程同时访问或修改,从而避免数据不一致或竞态条件的发生。以下代码是互斥锁的使用,利用RAII来完成自动锁的自动析构。

阅读更多
多线程内存模型(2):内存屏障
多线程内存模型(1):指令重排序

asio学习记录

asio(Asynchronous Input/Output)是一个用于C++的跨平台库,主要用于网络和底层I/O编程。它提供了一套高效的异步I/O模型,使得开发者可以更轻松地编写高性能的网络应用。

阅读更多

c++时间类型

时间类型可以说是非常常用的类型,在使用的过程中经常感觉掌握的不够全面,这里梳理一下,作为记录。

阅读更多