自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ffplay 实现暂停、seek等的逻辑基础

检测是否有seek事件发生,有-->调用 avformat_seek_file(),跳转成功后清空之前队列中的缓存,更新序列号,使得之前的数据不可用。目的:音视频同步的主要目的是使播放的声音和显示的画面保持一致。在多媒体播放中,视频和音频是分别进行编码和解码的,由于编码和解码的速度不同,以及。继续检测是否是逐帧播放模式 ······停止 播放音频,视频 导致音频视频的缓冲队列,数据堆积,直到队列被填充满将不再进行解封装、解码操作。当当前时刻 大于 lastVp的结束时刻 且 小于vp的结束时刻,播放vp;

2024-08-12 15:20:26 506

原创 FFmpeg源码编译

FFmpeg源码编译

2024-04-19 20:27:13 1275 3

原创 msys2下载和配置

/

2024-04-18 17:02:20 358

原创 高精度乘法改进版

仍使用两层for循环,但是内层循环,只负责保留乘数的结果,外层循环负责对高位乘数的结果左移一位(乘以10).之后统一对结果进行进位处理。的所有元素进行遍历。当内层循环每执行完毕一次,则有。核心功能只有20行左右。完成了一次乘法运算,将。

2024-04-01 11:46:38 308

原创 高精度加法改进版

上一版本是对每一位单独进行进位处理。这里一次性计算出加和结果之后再统一进位处理。测试结果同之前博客一致。

2024-04-01 11:37:39 226

原创 高精度乘法

高精度乘法

2024-03-31 21:44:40 212

原创 高精度加法

高精度加法

2024-03-31 21:27:49 192

原创 洛谷回文质数

先枚举出可能的回文奇数,再判断是否为质数。

2024-03-29 21:42:55 228 1

原创 c++反向迭代器之.base()

在chat时我不是很理解下面的,反向迭代器的base()方法。在写质因数分解的时候,想着练一下容器。

2024-03-29 20:27:13 490 1

原创 排序--5.简单选择排序

简单选择排序

2024-03-27 20:19:13 151

原创 排序--6.堆排

堆排

2024-03-27 20:15:21 635 2

原创 排序--4.快速排序

快速排序

2024-03-27 19:46:50 413

原创 排序--3.冒泡排序

冒泡排序

2024-03-27 19:46:42 152

原创 排序--2.希尔排序

希尔排序

2024-03-27 19:35:19 263

原创 排序--1.插入排序

插入排序

2024-03-27 19:34:47 187

原创 C++实现中缀表达式转后缀

在英文输入下,键入你的表达式(注:这里只实现了 +-*/ 没有更复杂的幂次等计算)①.将您输入的表达式的数字部分 和 操作符部分 分开,以独占一行的方式打印输出;实现中缀表达式转为后缀,并计算得到计算结果输出显示。②.表达式的后缀输出;

2024-03-10 15:41:21 370 1

原创 C++实现二叉树

接下来,你将看到,输出先序、层序遍历结果等内容,如下:(注:中序后序,操作类似于前序遍历,没有实现)1.2 实现二叉树的访问 --- 先中后序访问、层序访问。1.3 计算树的深度、节点数、复制树。2.1 首先创建出一棵二叉树。1.1 实现二叉树的创建。

2024-03-10 15:20:09 1535 2

原创 C++实现哈夫曼编码、解码

第二部分打印出来的是,测试数据 A B C D E F G 的对应编码,这里可以自行扩充。第一部分打印出来的是 哈夫曼树 的结构。第三部分是用于测试的解码结果。

2024-03-09 17:33:17 836 1

原创 服务端使用多线程处理客户端请求

关注一下这里的创建子线程的for循环,首先判断了一下 arr[i] 是否为-1,如果是才创建线程,否则跳出 for() 循环,重新阻塞等待accept()连接。子线程处理函数中,使用指针 p 接收 arg 参数的目的是获得指向数组 arr 的指针,以便在关闭客户端后重新将相应位置,重新置为 -1.服务端的显示没有变化,说明没有连接成功(我没有对连接不成功的做打印,只对成功的做了打印)仔细观察一下,新连接的客户端,分配到的 通信文件描述符是 7和5 符合我们的设想3。< 2 和 3>再,关一个再连。

2023-12-26 20:57:56 997 1

原创 服务端并发处理客户端请求,并回收子进程

下面就要测试一下关掉一个客户端后,break退出子进程在 waile(1) 的业务逻辑,接着 exit(-1) 后子进程退出。(简单说就是 关闭一个客户端,使得一个子进程退出)注:此处使用了对常见的网络编程函数异常处理后的头文件wrap.c(下载于网络)关闭了两个客户端,杀死了两个子进程,没有出现僵尸进程。也打印出了回收的子进程,是相互印证的。可以看到父进程已经拉起了3个子进程。父进程是否能对子进程进行回收。

2023-12-26 10:56:52 504 1

原创 创建简单的linux服务端

这个案例没有使用自定义的库函数(里面对socket()、bind()、listen()等进行了封装,实现异常处理)。所以这里的异常处理是直接写在了代码里。父进程没有对子进程的退出进行回收,会产生僵尸进程。后面会有一个回收子进程的版本(也没有对读写可能被信号的打断做处理,只增加回收的部分)但是没有对读写操作时可能被信号打断的情况的异常进行处理。

2023-12-26 09:47:19 510 1

原创 对于waitpid非阻塞的理解(个人回顾向)

对于waitpid() 非阻塞的理解

2023-12-02 21:55:48 95 1

原创 王爽老师汇编语言,实验16

王爽老师汇编语言,实验16

2023-10-26 18:44:31 175

原创 汇编 除法错误改写,以及实验步骤

【代码】汇编 除法错误改写,以及实验步骤。

2023-10-23 15:42:27 78

原创 anaconda在默认路径下使用环境名创建环境

所创建的环境 在 D:\my_anaconda\envs 下(这是我计算机上的 anaconda 保存环境的路径)conda remove -n 名字 --all。conda remove -p 路径 --all。3.1 activate 路径。3.2 activate 名字。

2023-09-12 19:44:18 135

原创 记录:学习重载赋值运算符时,未以引用的方式传参导致的内存重复释放问题

void operator=(Myfz right) 未以引用的方式传入参数导致,fun1 下的 height 指针指向的内存被重复释放。当void operator=(Myfz right) 运行结束时,right被释放,执行析构。符合单步调试的结果。注意类 Myfz 下的 void operator=(Myfz right) 这里传入的参数未使用引用的方式,所以应是void operator=(Myfz right) 函数传入的 Myfz类的对象right的析构。时,对象right为fun1的复制,

2023-05-31 11:13:03 99 1

原创 C++ 类“xxx”不存在默认构造函数

所以可以手动为Phone类添加上无参默认构造函数。即使将 Phone() 实现为空,也能避免编译错误,因为它告诉编译器,Phone 类有一个默认构造函数可以用来初始化 m_Phone 成员变量。c++中,在类中定义成员对象时,该成员类对象需要有默认构造函数,以告诉编译器如何将其初始化。由于这里的Sheep类已经构造了有参构造函数,编译器将不会自动构建无参默认函数。

2023-05-20 10:25:34 3177 1

空空如也

空空如也

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

TA关注的人

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