自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 Mosquitto: 编译Centos7环境下的可执行文件(实测可行)

编译centos7版本mosquitto源码

2025-06-24 18:01:26 412

原创 Mosquitto:如何删除mosquitto.db和mosquitto.log

快速删除C盘的mosquitto.db和mosquitto.log

2025-06-24 10:31:52 247

原创 操作系统:程序链接方式

记录下操作系统程序链接方式。

2025-06-23 21:05:04 546

原创 Libcpr和crow第三方库关于线程安全的分析

Libcpr和crow作为C++中常用的HTTP库,其线程安全性需结合设计实现和常见使用场景综合分析。

2025-06-20 14:02:17 482

原创 C++: 输出Windows平台或Linux平台时间信息的函数

记录一个可以输出Widnows或Linux时间信息的C++函数。

2025-06-20 11:41:25 344

原创 C++: tuple和pair语法和例子

简单记录C++的 tuple和pair语法和例子

2025-06-20 11:36:53 602

原创 C++:C++17 引入的结构化绑定例子

C++17的结构化绑定语法例子

2025-06-20 10:46:41 143

原创 LibCpr: Windows环境下实现一个C++版本的Http客户端

Windows环境下实现一个C++版本的Http客户端程序,已运行验证代码可行。

2025-06-20 10:16:57 194

原创 Windows环境编译LibCpr库文件(已验证可行)

记录如何在windows环境编译libcpr库,并已验证可行。

2025-06-18 16:05:14 261

原创 LibCpr库介绍与库文件编译

介绍一个好用的http客户端(libcpr)

2025-06-18 11:29:59 764

原创 C++ :异常抛出机制

5.若无匹配处理程序,调用 std::terminate() 终止程序。输出:Custom Error: Invalid age: -5。输出:Error: Division by zero!2.退出当前作用域(栈展开,调用局部对象析构函数)4.若匹配成功则执行处理代码;3.按顺序匹配 catch 块。1.在 try 块中抛出异常。

2025-06-17 20:14:54 361

原创 数据结构:二叉树

定义:满二叉树是每个节点要么是叶子节点,要么恰好有两个子节点的二叉树,且所有叶子节点都在同一层。2.完全二叉树: 最后一层允许缺失节点,但必须从左到右连续缺失(不能跳过左侧)。1.满二叉树:每一层都严格填满,无缺失节点。另欢迎关注公众号【比特层递】,一起交流进步。3.斜树:所有节点单向延伸,无分支。

2025-06-16 23:23:09 378

原创 操作系统:内存管理(连续内存分配管理)

这三种都属于连续内存分配管理方式,即要求进程必须装入内存中一片连续的物理地址空间。

2025-06-16 22:19:21 547

原创 划分子网的Ipv4地址

如果使用子网掩码 255.255.255.0(即 /24),表示有 256 个 IP 地址,网络部分是前三个八位字节(192.168.1),主机部分是最后一个八位字节。掩码是一个 32 位的二进制数,其中的 1 表示网络部分,0 表示主机部分。广播地址 是子网中所有主机地址的最高地址,通常用于向该子网内所有设备发送广播信息。每增加一个子网位,会使得可用的子网数量增加,但是每个子网的主机数会减少。子网地址 是子网中所有主机地址的最低地址,通常用来表示该子网的网络标识。为此,需借助子网掩码来计算子网。

2025-06-16 21:29:59 271

原创 使用C++创建一个常用的线程池

2.2 i 捕获当前循环中的线程索引。因为 lambda 需要在每个线程中独立工作,所以捕获 i 是必要的,以便在每个线程中能得到正确的数据库连接。std::unique_lock 相比于 std::lock_guard 提供了更多灵活性,比如能够手动解锁,适用于更复杂的场景。使用 std::unique_lock 来锁定 m_queueMutex,保证访问任务队列 m_tasks 的线程安全。1、emplace_back 是 std::vector 提供的一个方法,用来在容器的末尾添加一个新的元素。

2025-06-16 16:53:07 390

原创 C++: std::queue与std::function笔记

m_tasks 是一个 std::queue 类型的成员变量,具体来说,它是一个存储 std::function<void(std::shared_ptr)> 类型对象的队列。std::shared_ptr 是传递给任务的参数类型,这意味着每个任务都需要一个 std::shared_ptr 类型的参数。std::function<void(std::shared_ptr)> 是一个封装了返回类型为 void,并且接受 std::shared_ptr 参数的可调用对象。

2025-06-16 16:05:08 375

原创 从docker.io拉取镜像超时失败处理方法,实测可用。

2、修改daemon.json的registry-mirrors信息,原有的其他选项不用改。**需求:**从docker.io拉取官方最新镜像。3、重新加载配置文件及docker服务。1、修改docker的配置文件。5、重新拉取镜像,成功。4、 重启docker。

2025-06-16 11:03:20 379

原创 轨道交通综合监控系统

轨道交通综合监控笔记

2025-06-15 18:01:51 527

原创 C++ 信号量

C++标准库在C++11之后提供了std::mutex(互斥锁)和std::condition_variable(条件变量)等线程同步工具,这些工具通常更加方便和安全,推荐在C++中使用。在使用操作系统提供的信号量时,可以使用POSIX线程库(pthread)或Windows线程库来创建和管理信号量。在C++中,信号量是一种用于线程同步的基本工具,用于控制对共享资源的访问。C++标准库并没有直接提供信号量,但是可以使用操作系统提供的信号量或者使用第三方库来实现。

2024-05-29 16:03:14 725

原创 windows环境bat文件常用语法小结

解释:taskkill /f /t /im %program%:这行命令用于终止指定名称的程序。其中,%0 表示当前脚本的名称(包括扩展名),而 %~dp0 表示该名称的驱动器路径。在这个命令中,%program%是一个变量,它可能包含你要搜索的关键词。/i选项表示在搜索时不区分大小写。例如,如果你想查找所有包含"chrome"关键词的任务,你可以将%program%设置为"chrome",然后运行该命令。这段代码的作用是强制终止指定名称的程序,然后输出一条消息,等待一段时间后跳转到脚本的结束位置。

2024-04-18 14:17:58 491 1

原创 debian常用的架构类型

amd64(x86-64):64位x86架构,目前是Debian最广泛使用的架构之一,适用于大多数桌面和服务器计算机。i386(x86):32位x86架构,适用于旧版的桌面和服务器计算机,也被称为IA-32。armel:ARM EABI Little-Endian架构,适用于一些较老的嵌入式设备。s390x:IBM System z架构的64位版本,适用于IBM主机和服务器。arm64:ARM 64位架构,适用于许多嵌入式设备和服务器。mips:MIPS架构,适用于某些嵌入式系统和路由器。

2024-04-03 17:49:03 969 1

原创 C++适配器

在C++中,适配器(Adapter)是一种设计模式,用于将一个类的接口转换成另一个类的接口,以使它们可以相互配合工作。(Function Adapters):函数适配器用于修改或扩展函数的行为,可以用于将普通函数转换成函数对象,或者修改函数的行为。:队列是一种先进先出(FIFO)的数据结构,它也基于其他容器(如deque或list)实现,并提供了push、pop、front、back等操作。:容器适配器是一种特殊的数据结构,它们基于其他容器实现,并提供了不同的接口和功能。

2024-03-29 14:34:07 367 1

原创 C++ 一元谓词和二元谓词的区别

一元谓词(Unary Predicate):一元谓词是指只接受一个参数的谓词。在使用一元谓词时,通常会将一个参数传递给该谓词,然后谓词会根据这个参数进行判断并返回相应的结果。二元谓词(Binary Predicate):二元谓词是指接受两个参数的谓词。在使用二元谓词时,通常会将两个参数传递给该谓词,然后谓词会根据这两个参数进行判断并返回相应的结果。例如,用于比较两个元素大小的函数对象就是二元谓词。总结:一元谓词和二元谓词都是用于描述某种条件或判断的函数对象,只是它们所接受的参数个数不同,分别为一个和两个。

2024-03-29 14:03:02 464 1

原创 C++ STL组成

容器(Containers):容器是用来存储数据的数据结构,STL提供了多种类型的容器,如vector、list、deque、set、map等。STL中的很多算法可以接受函数对象作为参数,以实现灵活的功能扩展。迭代器(Iterators):迭代器用于在容器中遍历元素,STL定义了多种迭代器类型,包括输入迭代器、输出迭代器、正向迭代器、双向迭代器和随机访问迭代器。算法(Algorithms):STL提供了丰富的算法库,包括对容器进行排序、查找、遍历等操作的算法,如sort、find、for_each等。

2024-03-29 13:47:51 227 1

原创 编译服务端C++程序常遇到的链接配置

通过添加 -lcurl 选项,编译器会在编译和链接过程中将 libcurl 库链接到最终的可执行文件中,以便程序能够使用 libcurl 提供的功能来进行网络通信。在涉及网络通信的程序中,特别是需要使用到套接字编程的程序中,需要添加 -lnsl 选项来正确链接 NSL 库,以确保程序能够正常编译和运行。-lcurl 是 GCC 编译器的一个选项,用于告诉编译器链接 libcurl 库。-lstdc++是GCC编译器的一个选项,用于告诉编译器链接 libstdc++ 库,这是GNU C++ 标准库的库名称。

2024-03-28 10:31:39 472 1

原创 Makefile基本使用

Makefile基本使用

2022-11-02 19:54:00 344

原创 awk语句使用

awk语句使用

2022-11-01 11:37:33 217

原创 Makefile基本用法

Makefile基本用法

2022-10-27 10:58:22 656

原创 C++ 整数转为字符串(代码可用)

C++ 整数转为字符串(代码可用)

2022-10-25 15:57:47 1275

原创 C++ string::size_type

C++ string::size_type

2022-10-25 15:37:45 579

原创 c++中assert用法

c++中assert用法

2022-10-25 14:39:47 691

原创 使用C++将网络字节流转为数字(大端与小端区别)

使用C++将网络字节流转为数字(大端与小端区别)

2022-10-25 14:00:17 600

原创 C++ memmove()使用

C/C++库函数 - memmove

2022-10-25 13:48:30 439

原创 Linux服务器性能监测工具NMON

Linux服务器性能监测工具NMON

2022-10-14 10:44:12 702

原创 使用ping指令定时检测生产环境设备网络状态

使用ping指令定时检测网络IP

2022-10-14 09:45:15 1890

原创 centos7下安装pyinstaller后,使用时报ModuleNotFoundError: No module named ‘_ctypes‘错误(问题已实际解决)

centos7下安装pyinstaller后,使用时报ModuleNotFoundError: No module named '_ctypes'错误(问题已实际解决)

2022-09-16 11:11:37 1429 1

原创 numpy.meshgrid用法

最近在看pytorch的学习教程时,看到numpy.meshrid()这个函数。就上网搜了下。numpy提供的numpy.meshgrid()函数可以让我们快速生成坐标矩阵。使用meshgrid方法,你只需要构造一个表示x轴上的坐标的向量和一个表示y轴上的坐标的向量;然后作为参数给到meshgrid(),该函数就会返回相应维度的两个矩阵;比如,你想构造一个2行3列的矩阵网格点,那么x生成一个...

2019-08-09 11:17:36 757

LibCpr源码(从官方Github下载的)

LibCpr源码(从官方Github下载的)

2025-06-18

空空如也

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

TA关注的人

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