自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++ unique_ptr、shared_ptr、weak_ptr全面解析

对make出来的智能指针和new出来的智能指针的区别做了详细介绍,同时对shared_ptr和weak_ptr之间的关系做了全面剖析

2025-03-31 21:19:15 899

原创 C++两条对象优化

C++的对象优化

2025-03-31 12:18:34 193

原创 C++的四种类型转换

C++的四种类型转换

2025-03-30 21:52:45 523

原创 protobuf新版下载安装

protobuf高版本下载安装

2025-03-29 12:11:37 271

原创 const 在C 和C++ 里的区别

const 在C 和 C++里的区别

2025-03-04 15:08:03 266

原创 超详细函数调用堆栈图解和进程虚拟空间图解

图解函数堆栈调用和进程空间划分

2025-03-02 09:31:25 432

原创 音视频编码和封装格式

视频是连续的图像序列,由连续的帧构成,一帧即为一幅图像。由于人眼的视觉暂留效应,当帧序列以一定的速率播放时,我们看到的就是动作连续的视频。由于连续的帧之间相似性极高,为便于储存传输,我们需要对原始的视频进行编码压缩,以去除空间、时间维度的冗余。音频编码是一种将音频信号转换为数字形式的过程,目的是减少数据中的冗余,以便存储和传输。音频编码的实质是通过抽样、量化和编码三个步骤,将连续变化的模拟信号转换为数字编码。视频编码是将视频数据从一种格式转换为另一种格式的过程。

2025-02-25 22:29:22 1055

原创 多媒体常用概念

介绍了多媒体常用概念

2025-02-25 22:12:56 733

原创 原子操作、写回策略、缓存一致性问题、内存序详解

通过绘图清晰展现了写回策略,对原子操作缓存一致性问题做出详细阐述

2025-02-24 22:01:51 1115

原创 四次挥手详解

四次挥手各状态和TIME_WAIT详解

2025-02-09 10:43:35 1178

原创 TCP三次握手全方面详解

三次握手各点详解

2025-02-08 22:58:21 1331

原创 右值引用全面剖析

右值引用全面剖析

2025-01-02 22:08:02 879

原创 C++ 关于虚函数的一些碎碎念

如果基类的析构函数不是虚函数那也不会报错,但是在工程上是的,方法实现了多态,否则容易出现这种类似问题实现一个基类AB1和B2继承A类场景模拟,由于构造哪个类由传参决定,所以返回的是基类此时就会出现问题,Drop函数里delete只调用了基类的析构函数,但是没有调用子类的析构函数,造成内存泄露所以为了防止这种情况产生,将基类的虚构函数设置成virtual就能调用到子类的虚构函数。

2024-12-27 16:12:46 978

原创 超详细!手撕C++线程池!(大家圣诞节快乐呀!!)

充分利用C++新特性,通过智能指针管理线程和任务对象的生命周期,通过条件变量condition_variable来进行任务通知,以及通过promise来异步获取任务的返回

2024-12-25 22:11:11 532

原创 new和malloc、delete和free的区别

分析了五点new和malloc的区别,同时提到free是怎么知道要释放多少空间和malloc是怎么分配内存的这两点题外话

2024-12-24 17:17:47 454

原创 Makefile学习(四)提取makefile的公共部分,简化makefile

简化项目中的makefile,提取出公共部分放在另外的makefile,便于移植和维护,同时用到wildcard、patsubst、notdir、strip等函数

2024-10-30 11:33:46 849

原创 Makefile学习(三)通过make编译多个项目

实现一次性编译多个项目的make和实现clean的清理

2024-10-25 11:02:34 991

原创 Makefile学习(二)加入动态编译库和静态编译库

动态库和静态库的makefile和在main.cpp里添加库以后的makefile编写

2024-10-23 09:08:15 1957

原创 Makefile学习(一)实现自己的第一个简单makefile

实现自己的第一个makefile,初步感受makefile

2024-10-18 12:19:40 356

原创 在windows和Linux上实现TCP通信(四)

服务端部分结束,通过多线程进行recv客户端,对每一步都有详细的解释

2024-10-18 08:45:05 448

原创 在windows和Linux上实现TCP通信(三)

详细解释了Accept部分中用到的函数和accept用到的参数的意思

2024-10-18 07:46:57 371

原创 在windows和Linux上实现TCP通信(二)

对客户端进行connect,select,send做了详细分析,对每一步的函数和用到的参数都有详细解释

2024-10-15 17:42:02 1784

原创 在windows和Linux上实现TCP通信(一)

一步步实现服务端Bind封装,对每个函数和用到的参数都有非常详细的解释!!

2024-10-14 22:17:49 1805

原创 C++报错:未知重写说明符

当时还是找了很久都没找到原因,因为头文件也应用了,而且这个类也不是像其他文章说的那样继承来的。为了防止重复编译,一般不会把using namespace std;昨天学C++的时候遇到了一个报错:提示我某个成员是未知重写说明符,这时候就要注意是否在需要的声明时加上std::!加上以后我这里的问题就解决啦。

2024-10-05 11:10:57 507

原创 C++(基础查漏补缺(1))—>指针

类是一种用户定义的类型,类对象通常包含数据成员和成员函数,这些成员需要在对象被正确构造后才能被访问。而其实在使用int* i的时候也是一样的道理,如果不使用写 i = new int 也是不能直接用的。最近在学c++的类的时候发现当创建了一个类以后还要再new一个类空间才能使用。之前的C/C++基础一直很弱,所以打算再跟着再仔细学一遍C++之前学C的时候当定义一个指针基本上都是直接指向了一个有效对象。类型对象的指针,但此时这个指针并没有指向任何有效的。类的对象,并将该对象的地址赋给。操作符动态分配了一个。

2024-10-04 11:58:40 188

原创 avcodec_send_frame 函数传入空 frame进行 flush 操作

为什么要通过avcodec_send_frame 函数传入空 frame来进行 flush 操作

2024-10-02 10:12:26 481 1

空空如也

空空如也

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

TA关注的人

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