自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 问答 (1)
  • 收藏
  • 关注

原创 POSIX 消息队列使用指南

核心定位:POSIX 消息队列是跨进程通信工具,基于文件路径标识,支持消息优先级、阻塞 / 非阻塞 / 超时收发,原子操作避免消息丢失;函数调用流程(创建者视角):mq_open(创建 / 打开)→mq_send(发送消息)→mq_close(关闭描述符)→mq_unlink(删除队列);(接收者视角):mq_open(打开)→mq_receive(接收消息)→mq_close(关闭)→mq_unlink(删除);使用限制:路径必须以开头;

2025-11-29 17:03:47 946

原创 POSIX 信号量使用指南

分类与选型:跨进程同步:优先用「命名信号量」(简单、无需手动管理共享内存);线程间同步:用「无名信号量」(栈变量,无需文件路径);共享内存进程间同步:用「无名信号量 + 共享内存」。核心操作:P 操作(sem_wait)申请资源,V 操作(sem_post)释放资源,二者均为原子操作;关键函数:sem_open(创建 / 打开)→(P/V)→sem_close(关闭)→sem_unlink(删除);sem_init(初始化)→(P/V)→(销毁)。避坑重点:命名信号量路径必须以开头;

2025-11-29 14:56:42 560

原创 POSIX 共享内存使用指南

路径格式shm_open()的pathname必须以开头,唯一标识共享内存;大小设置:创建后必须用设大小(默认 0),否则无法读写;映射关键mmap()的flags必须带MAP_SHARED,否则进程间无法共享数据;生命周期:共享内存的物理资源释放条件是「所有进程 munmap + 所有进程 close + shm_unlink」;同步必加:多进程并发读写时,必须用信号量 / 互斥锁保护,避免数据竞争;可移植性:代码可直接在 Linux、BSD、macOS 等 POSIX 兼容系统运行,无需修改。

2025-11-27 20:25:52 557

原创 虚函数与虚函数表总结

在一个类的非静态成员函数前面加上virtual关键字,该函数就成为虚函数,若这个函数声明时末尾加上=0,则这个函数被称为纯虚函数,含有纯虚函数的类被称为抽象类,抽象类无法实例化对象,继承自抽象类的子类如果想要实例化对象,必须重写父类中的所有纯虚函数,否则子类也将成为抽象类。使用父类指针指向子类对象是C++中动态多态的实现方式,使用父类指针可以访问子类中继承自父类的部分,但是无法访问子类中特有的成员。

2025-11-14 11:17:26 110

原创 C++虚函数原理理解

虚函数使得基类和派生类之间能够实现多态性,通过基类指针或引用动态调用派生类中重写的函数。底层实现基于虚函数表和虚函数表指针,在运行时动态决定调用哪个函数。使用虚函数时,通常在基类声明虚函数,派生类可以选择重写。虚析构函数是基类中有虚函数时常用的最佳实践,防止内存泄漏。

2025-03-20 14:20:50 963

原创 C++运算符重载

运算符重载是 C++ 中一个非常强大的特性,能够为自定义类型(如类或结构体)定义运算符(如。是不可能的,因为编译器不知道如何对自定义类型进行运算。运算符可以返回任何类型,但通常与操作相关。重载运算符的参数数量必须与原运算符一致。优先使用成员函数重载(若需要访问私有成员)。对象相加(比如合并年龄和身高),直接用。合理选择返回值类型(如返回引用或新对象)。运算符的行为应与其原始含义一致。返回当前对象的引用(支持链式赋值)。(运算符作用在类的实例上)(运算符不依赖于类的实例)保持运算符的语义一致性。

2025-03-17 21:16:11 406

原创 C++ new的使用

C++new的使用方法

2025-03-16 15:42:42 1895

原创 C++内存划分&const常量存储位置

C++内存划分和const常量存储位置

2025-03-16 15:02:47 836

原创 C++程序内存四个区域

存放不可修改的指令和常量。

2025-03-16 14:42:36 310

原创 数据结构(C)之单链表

单链表(Singly Linked List) 是一种线性的数据结构,它由一系列节点(Node)组成。

2024-12-17 19:06:52 1574

原创 数据结构(C)之顺序表

顺序表(Sequential List 或 Array)是一种线性数据结构,它的特点是数据元素在内存中按照顺序依次存储,且每个元素占用相同大小的内存空间。顺序表的存储结构通常是一个连续的内存区域,可以通过下标直接访问元素。

2024-12-13 19:45:02 1691

原创 栈内存 vs 堆内存

在 C 语言中,决定是使用堆内存还是栈内存来申请内存,取决于内存的生命周期、大小需求和程序设计的需求。和各自有不同的特点和用途。

2024-12-12 16:56:36 1369

原创 多普勒频移测速

回声的声波频率与发出的声波相同,而强度肯定更弱(频率的高高低可以认为是声音的尖锐程度,而频率的强弱可认为是音量的大小)。当声源运动的时候,假设前一秒声源在a位置发出了声波,此时a处发出的声波开始以音速传播,下一秒a向前移动到了b处,那么在b处发出的声波也开始以音速传播。本来静止的时候,声源发出波的频率和间隔是固定的,波的形状看起来就和上图一样是均匀的;回到刚才那个雷达的例子,如果把飞机反射的雷达发出的波,看成是飞机自己发出的波,而且飞机还在向着雷达的方向运动,是不是就跟多普勒现象很相像了呢。

2024-07-19 14:53:29 512

原创 信号笔记:自相关和互相关

自相关可以简单理解为事物自身之间的相关性,对于信号来说就是信号前一时刻和后一时刻之间的相关性;互相关就可以简单理解为不同事物之间的相关性,对于 信号来说就是不同信号之间的相关性。对于自相关和互相关,他俩都是描述的相关性,相关性是一个衡量两个信号相似度的数学概念。

2024-05-17 21:27:21 291

空空如也

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

TA关注的人

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