自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【C++网络编程】epoll实现简易服务器的基本流程

epoll在高并发场景下具有更卓越的性能。首先,epoll 在内核层面采用基于事件回调的高效机制。当应用程序通过 epoll_ctl()注册文件描述符时,内核会为其​​建立回调关系​​:当某个 fd 的状态发生变化(如接收到数据),网络设备驱动程序会​​主动通知​​内核回调函数,直接将就绪的 fd 加入就绪链表。而 select/poll 则采用轮询机制,每次调用都需要​​全量扫描​​所有监控的 fd,消耗 O(n) 时间。此外,epoll 通过​​内存映射(mmap)​​ 技术。

2025-08-08 20:47:41 210

原创 【C++网络编程】poll实现简易的服务器流程

select通过维护一个bitmap来检查是否有事件就绪,使得最大连接数限制在1024。poll通过维护一个包含多个pollfd结构体的集合来检查是否有事件就绪,解除了这个限制。int fd;// 监控的文件描述符// 监视的事件类型(输入参数)// 实际发生的事件(输出参数)在工作时,首先将pollfd数组的指针和长度从用户空间传递给内核空间,内核轮询监控数组中的fd是否就绪,时间复杂度为O(n)。如果就绪则将revents设置为实际发生的事件,并且将就绪事件个数加1。最后返回就绪的fd的个数。

2025-08-08 17:21:38 282

原创 【C++网络编程】select实现简易服务器的流程

select是实现I/O多路复用的一种方式,其它常见复用技术还有poll、epoll。select通过一个系统调用监控多个文件描述符。在工作时,首先将需要监听的fd_set(包括读、写、异常三种事件集合,代码示例只监听了读集合)从用户空间完整地拷贝到内核,内核会遍历fd_set检查是否有就绪的fd,若没有就阻塞,时间复杂度为O(n)。如果有事件发生,就将fd_set又完整地从内核拷贝到用户空间。用户通过遍历,对就绪的fd进行处理,时间复杂度为O(n)。

2025-08-08 16:14:22 257

原创 C++static

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。

2025-06-23 09:03:11 410

原创 C++异常

异常(Exception)是指程序运行过程中发生的错误或意外情况,通常是指那些导致程序不能继续正常执行的问题。在 C++ 中,异常是通过 try、throw 和 catch 语法来处理的,允许程序在运行时捕捉到这些错误并做出响应,从而避免程序崩溃。你可以定义自己的异常类来表示特定类型的错误。通常,这些异常类应该继承自 std::exception 类,并重写 what() 函数来提供异常信息。public:try {// 抛出自定义异常// 捕获并打印自定义异常。

2025-06-21 21:57:57 947

原创 STL排序函数sort和qsort

类型安全: sort 是类型安全的,而 qsort 不是。性能: sort 通常比 qsort 更快,因为它可以在编译时优化。通用性:qsort 更为通用,适用于任何类型的数据,只要提供了正确的比较函数。容器支持: sort 是STL的一部分,专门用于C++容器和数组,而 qsort 更多地用于C风格的数组。

2025-06-20 21:11:36 289

原创 C++迭代器

迭代器学习简单记录。

2025-06-20 21:06:10 230

原创 C++ 容器类 <list>

是 C++ 标准模板库(STL)中的一个序列容器,它允许在容器的任意位置快速插入和删除元素。与数组或向量不同, 不需要在创建时指定大小,并且可以在任何位置添加或删除元素,而不需要重新分配内存。

2025-06-18 20:20:18 136

原创 C++锁机制与信号机制

在C++中,多线程编程的线程同步和通信主要依赖于锁机制和信号机制。

2025-06-17 22:47:20 418

原创 Anti-UAV 反无人机大赛数据集处理脚本(3)YOLO结果转提交格式

【代码】Anti-UAV 反无人机大赛数据集处理脚本(3)YOLO结果转提交格式。

2025-06-16 21:36:01 391

原创 Anti-UAV 反无人机大赛数据集处理脚本(2)划分训练集

【代码】Anti-UAV 反无人机大赛数据集处理脚本(2)划分训练集。

2025-06-16 21:34:41 180

原创 Anti-UAV 反无人机大赛数据集处理脚本(1)标签转换为YOLO格式

【代码】Anti-UAV 反无人机大赛数据集处理脚本(1)标签转换为YOLO格式。

2025-06-16 21:33:25 400

原创 C++继承

个人C++学习笔记。继承机制是面向对象程序设计使代码可以复用的最重要的手段,它允许我们在保持原有类特性的基础上进行扩展,增加方法(成员函数)和属性(成员变量),以前我们接触的函数层次的复用,继承是类设计层次的复用。

2025-06-16 21:28:07 914

原创 TransVisDrone无人机检测

记录了论文的大致内容,方便快速回顾论文。会议:2023 IEEE International Conference on Robotics and Automation (ICRA)

2025-06-09 12:20:19 552

原创 二分查找学习

当区间为左闭右开时,循环条件为while(start < end) ,下标更新 start = mid + 1,如果不+1,那么下次循环仍会检查target和nums[mid]的值,可能造成死循环。以下面的代码为例,初始化end时就已经定义了你选定的区间。如果初始化end为数组长度,那么区间为左闭右开;如果初始化end为数组长度-1,那么区间为左闭右闭。同理,当区间为左闭右闭时,循环条件为while(start <= end) ,下标更新 start = mid + 1,end = mid -1。

2025-06-07 17:24:20 222

原创 无人机检测与跟踪方法EDTC

为了快速回忆论文的大概内容做的笔记。论文名称为《Evidential detection and tracking collaboration: New problem, benchmark and algorithm for robust anti-uav system》。

2025-06-05 23:17:21 1012

原创 渐进式特征金字塔网络AFPN简介

渐进式特征金字塔网络AFPN的简要介绍

2025-06-04 22:43:30 824

原创 Python实现YOLO格式数据集不同尺度的实例数量统计

YOLO数据集实例数量统计

2025-05-06 15:30:05 380

空空如也

空空如也

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

TA关注的人

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