
C++
文章平均质量分 77
各种C++相关的学习笔记
jaronho
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
libusb安装编译
文章目录一、简介二、编译1、Linux平台2、Windows平台一、简介官网:https://libusb.infoGitHub:https://github.com/libusb/libusb二、编译从GitHub上下载指定版本的libusb库到本地,例如:libusb-1.0.24.tar.gz。1、Linux平台解压libusb-1.0.24.tar.gz文件,并进入目录。执行命令:./autogen.sh。成功后将会生成configure文件。执行命令:./configure -原创 2022-01-10 13:54:37 · 3871 阅读 · 1 评论 -
C++代码规范
文章目录一、命名规范1、目录/文件2、函数/接口3、命名空间4、结构体/类5、变量(1)局部变量(2)全局变量(3)静态变量(4)类成员变量(5)类静态变量(6)常量5、宏定义6、枚举一、命名规范对于C++代码,每个人的风格和习惯各不尽相同,但是为了在项目中形成一个统一的,阅读性比较好的代码,这里参考了主要的开源代码、国内外各大厂以及以往的项目经验,这里对C++代码的命名进行了一个约定规范。1、目录/文件规范:使用小写字母、数字、下划线,多个单词间用下划线分隔。原因:Windows对目录和文件是大原创 2021-11-16 16:06:10 · 6015 阅读 · 0 评论 -
Google Breakpad捕获程序崩溃异常
文章目录一、Linux平台1、下载2、编译安装3、环境配置二、Windows平台一、Linux平台1、下载https://github.com/google/breakpad2、编译安装解压到目录breakpad,然后在命令窗口cd到改目录下。执行命令:./configure --prefix=/opt/breakpad-ubuntu-x64执行命令:make。会报错:In file included from ./src/client/linux/dump_writer_common/t原创 2021-05-28 20:05:55 · 2843 阅读 · 1 评论 -
计算机内存管理
计算机存储区域 在计算机中,存储区域主要分为:硬盘内存高级缓存寄存器 他们的运行速率自下而上加快,与之相应的造价越高。其中,硬盘的运行效率最慢,寄存器的效率最快。C++内存分区 在C++ 中,内存主要分为五个原创 2020-05-30 14:56:14 · 517 阅读 · 0 评论 -
C/C++结构体内存对齐规则
结构体内存对齐规则 一、什么是结构体内存对齐 结构体不像数组,结构体中可以存放不同类型的数据,它的大小也不是简单的各个数据成员大小之和,限于读取内存的要求,而是每个成员在内存中的存储都要按照...原创 2020-02-28 16:26:45 · 2157 阅读 · 0 评论 -
简单的耗时检测器
最近在自测时,需要检测一些代码逻辑的耗时,很简单的做法就是在代码逻辑执行前记录下时间戳,代码逻辑执行后计算当前时间戳与之前所记录时间戳的差值就OK了。为了使得耗时计算逻辑在不同模块的复用,这里对耗时逻辑做了简单的封装,原理很简单,利用了C++类的构造函数以及析构函数来进行自动计算。如下:time_consuming_detector.h#ifndef __TIME_CONSUMING_DETECTOR__#原创 2021-01-19 19:46:56 · 391 阅读 · 1 评论 -
Boost库学习笔记(1)—— 安装编译
一、概述 Boost是免费的可移植的C++开源库。Windows平台构建流程类Unix平台(例如:Linux、MacOS)构建流程二、构建方式 如何构建Boost库呢?大部分情况下,并不需要构建,因为大多数的Boost库都仅使用头文件(.hpp):它们完全由包含模板和内联函数的头文件组成,不需要单独编译库二进原创 2020-12-03 15:47:32 · 8592 阅读 · 0 评论 -
Boost库学习笔记(2)—— Asio
一、概述 Boost.Asio是一个用于网络和底层I/O编程的跨平台的C++库,它使用了现代的C++方法,为开发人员提供了一致的异步模型。使用前须知。原创 2020-12-04 17:30:48 · 3048 阅读 · 0 评论 -
Boost库学习笔记(3)—— Fiber
一、概述 Boost.Fiber是一种微线程(用户层),也可以叫作纤程(协程),与一般的协程相比,其内部提供了调度管理器。每个fiber都有自己的栈,它可以保存当前的执行状态,包括所有寄存器的CPU标志、指令指针和堆栈指针,然后可以从此状态恢复。其目的是在单个线程上通过协作调度运行多个可执行序列(即函数)。正在运行的fiber可以明确的决定什么时候yield,来允许另外一个fiber运行(上下文切换)。在x86上原创 2020-12-07 10:23:39 · 5435 阅读 · 0 评论 -
Boost库学习笔记(4)—— Signals2
一、概述 Boost.Signals2库一个信号和槽管理系统的实现。信号表示带有多个目标的回调,在类似的系统中也成为发布者或者事件。信号被连接到一些槽上,这些槽是回调接收者(也成为事件目标或者订阅方),当信号被“发射”时调用。 信号和槽是受管理的,在这种情况下,信号和槽(或者更确切的说,作为槽的一部分出现的对象)可以跟原创 2020-12-07 17:39:55 · 756 阅读 · 0 评论 -
Boost库学习笔记(5)—— Filesystem
一、概述 Boost.Filesystem库提供了操作文件、目录和路径的工具。库包含以下特征:与C++标准库高度兼容的现代C++接口。可在操作系统间移植。通过C++异常(默认)或错误码进行错误处理和报告。适合广泛的应用程序,从简单的脚本化操作到极度复杂的代码。构成了ISO/IEC TS 18822的基础(C++标准库文件系统技术规范)。...原创 2020-12-10 20:33:00 · 381 阅读 · 0 评论 -
《C++并发编程》
IntroductionPractical Multithreading作者:Anthony Williams译者:陈晓伟本书概述作为对《C++ Concurrency in Action》的中文翻译。本书是基于C++11新标准的并发和多线程编程深度指南。从std::thread、std::mutex、std::future和std::async等基础类的使用,到内存模型和原子操作、基于锁和无锁数...原创 2020-02-28 09:40:25 · 398 阅读 · 0 评论 -
C++多线程并发(一)---线程管理
一、何为并发刚开始接触计...转载 2020-02-27 15:48:27 · 2277 阅读 · 0 评论 -
C++多线程并发(二)---线程同步之互斥锁
一、何为线程同步在前一篇...转载 2020-02-27 16:03:38 · 373 阅读 · 0 评论 -
C++多线程并发(三)---线程同步之条件变量
一、何为条件变量在前一篇...转载 2020-02-27 17:03:30 · 647 阅读 · 0 评论 -
C++多线程并发(四)---异步编程
一、何为异步编程前面用两...转载 2020-02-27 17:39:53 · 257 阅读 · 0 评论 -
C++多线程并发(五)---原子操作与无锁编程
一、何为原子操作前面介绍...转载 2020-02-27 18:03:25 · 416 阅读 · 1 评论