- 博客(271)
- 收藏
- 关注
原创 GROW模型及其应用
GROW模型由确定目标(Goal)、了解现状(Reality)、寻求方案(Options)、强化意愿(Will)四个维度组成。
2023-08-03 17:51:10
1885
转载 git repo工具介绍引入
Repo是基于git的仓库管理工具,是一个python脚本。 Repo用于同时管理多个git仓库,可以做统一的上传下载等操作。
2023-06-26 17:37:49
948
原创 C++类模板与函数模板介绍
类模板、类模板的全特化、类模板偏特化、成员函数模板、类模板的类型模板参数携带默认类型、类模板的非类型模板参数携带默认值、函数模板、函数模板全特化
2023-06-02 17:58:54
568
转载 自定义target命令:add_custom_target
add_custom_target:根据命令的参数生成一个target,这个target相对的可以更定制化一点。target默认不在all_targe中。
2023-05-10 15:46:06
1267
原创 C++文件读写类介绍
C++输入输出标准库拥有输入输出模板类及两个标准实例化集:一个是用于操作char类型元素的实例化集(即常用的cin,cout等),另一个用于操作wchar_t类型元素的实例化集。
2023-04-27 10:35:54
945
原创 进程的启动销毁流程及static变量的构造析构时机
本文为探究static变量构造、析构时机,从而整理了相关的进程启动销毁流程。最后介绍由static变量销毁机制导致的bug,引入google针对此问题设置的编程规范。
2023-04-14 15:11:30
592
原创 socket学习一、socket、bind/connect、listen函数详解
Socket本意是插座,在计算机通信领域中被翻译为“套接字”,是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。通过Socket,两台计算机可以通过网络进行信息的传递。
2022-11-27 12:20:10
3371
1
转载 epoll学习:epoll_ctl函数详解
epoll_ctl函数:向文件描述符epfd引用的epoll实例执行控制操作(op:添加、修改或者删除)。
2022-11-24 12:12:27
8091
原创 C++序列化方案选型及boost序列化使用方法
MFC和.Net框架的方法适用范围很窄,只适用于Windows下,且.Net框架方法还需要.Net的运行环境。Google Protocol Buffers效率较高,但是数据对象必须预先定义,并使用protoc编译,适合要求效率,允许自定义类型的内部场合使用。使用灵活简单,而且支持标准C++容器。MFC的效率较低,但是结合MSVS平台使用最为方便。开源方案适配数据类型少。
2022-09-08 18:09:02
1031
原创 VTK与OpenGL是什么,有什么关系?
VTK(视觉化工具函式库)是一个开源的免费软件API。用来绘制从简单的图形比特到复杂的三维景象,常用于CAD、虚拟现实、科学可视化程序和电子游戏开发。
2022-09-06 22:20:52
8984
原创 STL容器(vector、array、list、deque、set 、map 、stack、queue、priority_queue)的底层实现
STL容器(vector、array、list、deque、set 、map 、stack、queue、priority_queue)的底层实现
2022-08-25 16:22:01
1211
原创 msys2及MinGW工具使用学习笔记
MSYS2提供了Windows下的bash shell等linux环境、版本控制软件git、软件包管理系统Pacman和MinGW-w64工具链。主要用于 shell 命令行开发环境。
2022-08-19 10:27:29
4040
原创 CMAKE语法:target_compile_definitions、message、make -f、add_library
CMAKE语法:target_compile_definitions、message、make -f、add_library
2022-08-14 18:07:33
2058
1
原创 CMAKE命令:execute_process、CMAKE_CXX_FLAGS、target_include_directories、aux_source_directory、add_executab
CMAKE命令:execute_process、CMAKE_CXX_FLAGS、target_include_directories、aux_source_directory、add_executab命令解释
2022-08-13 13:45:00
534
原创 CMake命令:find_package、make instal、make --build .、CMAKE_PREFIX_PATH、add_compile_options、set_property
CMake命令:find_package、make instal、make --build .、CMAKE_PREFIX_PATH、add_compile_options、set_property用法介绍
2022-08-13 11:15:00
4189
原创 Redis介绍与使用
Redis(Remote Dictionary Server):远程字典服务器是一个基于内存运行的,支持持久化、主从同步的高性能Key-Value数据库。
2022-06-07 04:30:00
135
原创 Linux常用命令:设置局部变量、LD_LIBRARY_PATH环境变量、创建用户名密码、程序前后台切换
设置局部变量、LD_LIBRARY_PATH环境变量、创建用户名密码、程序前后台切换方法
2022-06-07 00:00:45
1112
原创 ProtoBuf介绍
1、作用:是中立于语言、平台,可扩展的用于序列化结构化数据的解决方案。序列化(Serialization):是将数据结构或对象转换成二进制串的过程。反序列化(Deserialization):是将在序列化过程中所生成的二进制串转换成数据结构或者对象的过程。...
2022-06-06 01:45:00
617
原创 什么是大小端?大小端应用场景
一、什么是大小端:小端: 数据的低序字节保存在内存的低地址,数据的高序字节保存在内存的高地址。低序低地址好记。大端: 数据的高序字节保存在内存的低地址,数据的低序字节保存在内存的高地址。类似于把数据当作字符串顺序处理:地址由小向大增加,数据从高位往低位放符合我们的阅读习惯。...
2022-06-05 21:28:58
2584
原创 观察者机制————利用回调函数实现
一、介绍:此工具实现了观察者机制(同进程内交互)。此工具的优势:1、客户不需要针对客户特性实现观察者、通知者类,是一个即拿即用的工具;2、观察者与通知者相互解耦。当前缺陷:1、未加锁,不保证线程安全;2、消息内容固定为int,未扩展:制约了回调函数与通知函数;3、未考虑性能问题,只是玩具级工具;4、未实现解观察detach()与释放主题release()两函数;以上缺陷只是待补充部分代码,不影响整个观察者机制的设计思想,待空了再修正。
2022-05-04 18:35:15
608
原创 一行宏定义使一个类变为单例类
一、介绍:编写一个单例框架,使得最终通过一行宏定义,将一个类变为单例类。减少客户侧定义单例类时编写重复代码。二、代码:2.1、单例框架代码:// Singleton.h// description: 单例框架模板// author: XXX// date: XXX#ifndef INCLUDE_TOOLS_SINGLETON#define INCLUDE_TOOLS_SINGLETON#include <iostream>#include <atomic>
2022-05-03 16:53:30
698
原创 条件变量(condition_variable)
一、定义:1.1、解释:条件变量是利用线程间共享的变量进行同步的一种机制,是在多线程程序中用来实现"等待–>唤醒"逻辑常用的方法,用于维护一个条件(与是条件变量不同的概念),线程可以使用条件变量来等待某个条件为真,注意理解并不是等待条件变量为真。当条件不满足时,线程将自己加入等待队列,同时释放持有的互斥锁; 当一个线程唤醒一个或多个等待线程时,此时条件不一定为真(虚假唤醒)。1.2、个人理解:两个线程利用条件变量及互斥锁实现同步。条件变量和互斥锁对两个线程来说是全局的。一个线程利用条件变
2022-04-19 00:53:00
12250
原创 VSCode配置C++环境编译环境
前言:本文通过整合各博客内容形成一套自己尝试后可行的配置方法。1、下载VScode及MinGW编译器依照VSCode配置C/C++环境博客1章节——5.2章节设置。2、设置编译C++代码的脚本:依照VScode tasks.json和launch.json的设置,设置tasks.json和launch.json两文件。本文重点介绍这两文件,附上各命令的解释:// tasks.json文件的设置:{ "version": "2.0.0", "tasks": [ { "label":
2022-04-19 00:23:28
1273
原创 auto与decltype用法
1、auto类型推导auto varname = value;auto 根据=右边的初始值value推导出变量的类型2、decltype类型推导decltype(exp) varname = value;decltype根据exp表达式推导出变量的类型,跟=右边的value没有关系。3、auto与decltype结合类型推导auto此时不表示自动类型检测,作为返回值类型后置时的占位符,是表示后置返回值的语法的一部分。decltype声明返回值类型。例:template<class
2022-04-16 10:15:00
774
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人