小庞在加油
码龄4年
关注
提问 私信
  • 博客:13,943
    问答:16
    13,959
    总访问量
  • 32
    原创
  • 45,091
    排名
  • 184
    粉丝
  • 0
    铁粉

个人简介:一个正在编程世界里摸爬滚打的小白 哪里不懂,就啃哪里

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2021-04-28
博客简介:

qq_57755091的博客

查看详细资料
  • 原力等级
    当前等级
    3
    当前总分
    250
    当月
    27
个人成就
  • 获得229次点赞
  • 内容获得1次评论
  • 获得133次收藏
创作历程
  • 3篇
    2025年
  • 29篇
    2024年
成就勋章
TA的专栏
  • C++知识
    12篇
  • 网络编程
    13篇
  • 个人
    2篇
  • 数据库
    1篇
  • 编程必备知识点
  • QT
    1篇
  • 算法
    3篇
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

【C++开源库】tinyxml2解析库使用介绍

TinyXML-2是一个功能强大且易于使用的XML解析库,它为C++开发者提供了快速解析和生成XML数据的能力。通过简单的API和跨平台的支持,TinyXML-2成为了处理XML数据的理想选择。无论是在大型企业应用还是在资源受限的嵌入式系统中,TinyXML-2都能发挥其优势。
原创
发布博客 2025.01.11 ·
630 阅读 ·
3 点赞 ·
0 评论 ·
9 收藏

【C++开源库】Boost.Asio网络库使用介绍

Boost.Asio是一个功能全面的库,它提供了异步编程模型、跨平台兼容性、高性能和灵活性等特性。它被广泛应用于构建各种类型的网络应用程序,包括Web服务器、游戏服务器、实时通信系统等。通过简单的配置和代码,你可以轻松实现高效的网络通信功能,提升项目的可维护性和调试效率。
原创
发布博客 2025.01.11 ·
546 阅读 ·
4 点赞 ·
0 评论 ·
4 收藏

C++高性能日志库spdlog实战

spdlog是一个由Gabriel Melman开发的高速、轻量级的C++日志库,旨在提供简单易用的日志记录功能,同时保持高性能。它支持多种日志目标,包括控制台、文件、轮转文件等,允许自定义日志过滤和动态改变日志级别。该库的设计使其在多线程环境中也能安全使用,适合高负载的日志记录场景。spdlog是一个功能强大且易于使用的C++日志库,适合各种项目开发需求。通过简单的配置和代码,你可以轻松实现高效的日志记录功能,提升项目的可维护性和调试效率。t=O83A。
原创
发布博客 2025.01.10 ·
865 阅读 ·
19 点赞 ·
0 评论 ·
5 收藏

个人总结-遇到的问题以及如何解决

.Linux下检测内存泄漏的工具:Valgrind。在线程无限次测试,是否还有内存泄漏的情况下,在调用堆栈的调试下,终于找到了。我的线程中有epoll_wait,在没有事件发生的时候,它是一直阻塞住的,也就是析构函数将while(条件)中的条件=false;它还是阻塞住的,也就是不会跳出线程中,导致线程资源也是不能及时释放的。解决办法:在析构函数中,使用event_fd,在唤醒阻塞住的epoll_wait。epoll事件驱动模式
原创
发布博客 2024.12.28 ·
641 阅读 ·
20 点赞 ·
0 评论 ·
20 收藏

探索 C++ 中的 Any 类:灵活处理任意类型数据

在 C++ 编程中,我们经常需要处理各种不同类型的数据。标准库提供了std::any类来存储任何类型的值,但了解其底层实现可以帮助我们更好地掌握 C++ 的特性。本文将介绍一个自定义的Any类,它模仿std::any的功能,允许存储和操作任意类型的数据。
原创
发布博客 2024.12.21 ·
287 阅读 ·
10 点赞 ·
0 评论 ·
4 收藏

进程、线程和协程:一文理解并搞懂

在计算机科学中,进程、线程和协程是操作系统中用于执行程序的基本抽象概念。它们定义了程序如何在计算机上运行,以及如何管理资源和执行任务。下面我们将详细解释这些概念,并探讨它们之间的区别和联系。
原创
发布博客 2024.12.10 ·
413 阅读 ·
4 点赞 ·
0 评论 ·
7 收藏

一文搞懂C++工厂模式设计模式

工厂模式是软件设计模式中的一种创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,创建对象的任务被委托给专门的工厂类,而不是在客户端代码中直接通过new操作符创建。这样,客户端代码就可以从具体的产品类中解耦,提高代码的灵活性和可维护性。
原创
发布博客 2024.12.10 ·
313 阅读 ·
8 点赞 ·
0 评论 ·
5 收藏

【C++】SOCI库介绍及使用指南

SOCI(Simple C++ Interface)是一个现代的、轻量级的C++数据库访问库。它为各种不同的数据库提供了统一的接口,并且支持多种数据库API,如ODBC,MySQL,PostgreSQL等。SOCI库以其易用性、灵活性和高性能而受到开发者的青睐,特别适合需要与数据库进行复杂交互的应用程序。
原创
发布博客 2024.12.10 ·
582 阅读 ·
6 点赞 ·
0 评论 ·
8 收藏

ACE之Acceptor-Connector框架介绍及使用

ACE(Adaptive Communication Environment)是一个用于构建高性能、可扩展的网络通信应用程序的C++框架。它提供了一套丰富的组件和服务,用于简化网络编程的复杂性。其中,Acceptor-Connector框架是ACE中用于处理客户端-服务器通信的核心机制。
原创
发布博客 2024.12.07 ·
413 阅读 ·
5 点赞 ·
0 评论 ·
4 收藏

RPC介绍,什么是RPC?

RPC(Remote Procedure Call,远程过程调用)是一种通信协议,它允许一个程序调用另一个程序在不同的地址空间上执行的子程序,就像调用本地函数一样。RPC机制使得开发者能够构建分布式计算系统,其中不同的组件可以分布在不同的计算机上,但它们之间可以像在同一台机器上一样相互调用。
原创
发布博客 2024.11.30 ·
486 阅读 ·
7 点赞 ·
0 评论 ·
3 收藏

ZeroMQ(ZMQ或0MQ)介绍

ZeroMQ(也称为ZMQ或0MQ)是一个高性能、异步消息传递库,可以用于分布式应用程序和网络通信中。它提供了一种简单而强大的模型来处理复杂的通信需求,支持多种传输协议和通信模式。ZeroMQ的设计目标是简单、轻量级和快速,它通过提供简洁的接口和强大的通信模式,使得开发者能够更方便地构建分布式系统和并发应用。
原创
发布博客 2024.11.30 ·
381 阅读 ·
5 点赞 ·
0 评论 ·
9 收藏

【C++并发编程】高并发的阻塞队列设计与实现

首先阻塞队列肯定是一个队列,是一种先进先出的数据结果,与一般的数据结构相比,多了阻塞两个字,对应的与普通队列不同的点如下:当队列空时,从队列中取出元素会阻塞(先等着,直到队列中有元素为止)当队列满时,往队列中增加元素会阻塞(队列有容量限制,不能无节制的往队列中增加元素)阻塞队列常用来实现生产者消费者模型。
原创
发布博客 2024.11.21 ·
269 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

Boost库介绍

Boost库是为C++语言标准库提供扩展的一些C++程序库的总称。Boost库由Boost社区组织开发、维护。其目的是为C++程序员提供免费、同行审查的、可移植的程序库。Boost库可以与C++标准库完美共同工作,并且为其提供扩展功能。Boost库使用Boost License来授权使用,根据该协议,商业的非商业的使用都是允许并鼓励的。Boost社区建立的初衷之一就是为C++的标准化工作提供可供参考的实现,Boost社区的发起人Dawes本人就是C++标准委员会的成员之一。
原创
发布博客 2024.11.20 ·
574 阅读 ·
18 点赞 ·
0 评论 ·
13 收藏

C++网络库muduo资料

muduo库笔记
原创
发布博客 2024.11.19 ·
106 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

QT打包应用程序exe文件步骤

那么这个时候,你就得知道,别人电脑的环境可能和你不一样,这时候你就得打包一个.exe文件并将其依赖项也包含进去,当然这个东西都是QT编译器就可以完成的。得确保如上图所示,安装了QT的编译器,没有这个选项的就得重新安装QT,安装的时候勾选对应的选项,查看:左下角点击开始,点击对应版本展开。单独将你的exe文件,放一个目录下,之后又上图cd进去你exe所在位置。输入:windeployqt 你的exe文件名.exe。3.采用release版本编译。1.确定已经安装编译器。
原创
发布博客 2024.11.19 ·
479 阅读 ·
7 点赞 ·
0 评论 ·
2 收藏

D*算法、D* Lite和Anytime D*的概述

Dynamic A*(D*D算法是一种增量式的路径搜索算法,适用于动态环境中的路径规划。它的设计允许在路径中断或环境变化时快速重新规划路径。D算法从目标点开始搜索,通过将目标点置于开启列表中来进行反向搜索,直到找到当前机器人的位置。该算法能够有效处理动态障碍物的出现,比如塌方或交通堵塞等情况,同时也可以在静态环境中使用,类似于Dijkstra算法和A*算法的结合。DLiteD* Lite是基于D算法和LPA算法的改进版本。它采用反向搜索的方式,假设未知区域都是自由空间,从而增量式地实现路径规划。
原创
发布博客 2024.11.16 ·
552 阅读 ·
4 点赞 ·
0 评论 ·
4 收藏

A*算法寻路算法详解+代码

A*寻路算法就是启发式探索的一个典型实践,在寻路的过程中,给每个节点绑定了一个估计值(即启发式),在对节点的遍历过程中是采取估计值优先原则,估计值更优的节点会被优先遍历。其中 H:预估代码中最常见的有:欧拉距离(两点之间的直线距离计算 )H:当前代价到终点的代价(预估代价)A星算法公式:F = G + H。曼哈顿距离(横纵坐标差值的绝对值)每次选择最优值进行遍历。G:起点到当前的代价。
原创
发布博客 2024.11.13 ·
232 阅读 ·
3 点赞 ·
0 评论 ·
1 收藏

Dijkstra算法入门(一)

C++中的Dijkstra算法实现Dijkstra算法是一种用于在加权图中找到最短路径的算法。在C++中实现Dijkstra算法通常涉及创建一个图表示,然后使用贪心策略逐步确定最短路径。
原创
发布博客 2024.11.13 ·
283 阅读 ·
6 点赞 ·
0 评论 ·
0 收藏

【C++】实现线程池--通用级别,可变参模板线程池。

线程池里面的线程个数是可动态增长的,根据任务的数量动态的增加线程的数量,但是会设置一个线程 数量的阈值,任务处理完成,如果动态增长的线程空闲了60s。CPU单核 多线程存在上下文切换,是额外的花销,线程越多上下文切换所花费的额外时间也越多,倒不如一个线程一直进行计算。还没 有处理其它任务,那么关闭线程,保持池中最初数量的线程即可。线程池里面的线程个数是固定不变的,一般是ThreadPool。时间片,物理上还是串行执行的,但是由于每个线程占用的。上,多个线程是在真正的同时执行,这样的场景称作并行。线程池C++
原创
发布博客 2024.10.12 ·
515 阅读 ·
4 点赞 ·
0 评论 ·
9 收藏

[C++部分用法总结] std::future,std::function,std::packaged_task,std::forward

std::function是一个通用、多态的函数封装器。它可以存储、调用或复制任何可以调用的目标,包括普通函数、Lambda表达式、函数对象以及成员函数指针。std::packaged_task封装了一个可调用对象,并允许异步地获取其结果。它通常与std::thread和std::future一起使用。std::forward用于完美转发参数。这对于编写泛型代码和保持移动语义非常重要。std::future用于从异步操作中获取结果。它通常与std::promise或std::async一起使用。
原创
发布博客 2024.10.11 ·
319 阅读 ·
8 点赞 ·
0 评论 ·
2 收藏
加载更多