自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (5)
  • 问答 (1)
  • 收藏
  • 关注

转载 config、cmake、make区别

config、cmake、make区别

2024-07-23 15:31:05 8

原创 有限状态机(Kuafu)

kLogin,//开始登录kLoginOk,kLoginOut,//创建自定义Machine//开启event处理线程//模拟event发生。

2024-02-29 10:19:33 243

原创 解码后的数据进行缩放或者格式转换

解码后的数据中可能是经过对⻬的,既然有对⻬,那就是数据⾥加多了⼀些为了对⻬⽽多余的字节,如果 我们想最后显示视频数据,那么这些多余的数据势必要进⾏剔除掉,那么怎么剔除呢,linesize就是来帮你 ⼲这事的,有了它,你就可以一行一行⽐较,然后把每⾏最后为了对⻬⽽补的字节删除,还原出视频的真实数据。也就是每个通道的行字节数,对应的是解码后的 AVFrame 中的 linesize[] 数组,根据它可以确立下一行的起始位置。作用:格式化src指定的内存块,即将dst_data指向src的内存。

2024-02-28 14:55:26 679

原创 程序卡死崩溃分析总结

需要注意的是, 对于可能引起程序异常的地方,需要try…

2023-09-25 15:28:45 210

原创 SDL渲染视频文件

到现在为止窗口已经创建,但不会显示出来。创建窗口后需要将窗口放到渲染器中,渲染器将其输出到渲染驱动层。内存图像包含图片的所有信息,渲染器将图片的描述信息抽取出来形成纹理,将纹理送到显卡上渲染展示出来。创建窗口是在内存中生成一个窗口,显示需要将其推到显卡上;显卡通过驱动将其投影到屏幕上。

2023-08-29 10:52:12 61

原创 多线程和锁

阻塞(Blocked):该线程被阻塞挂起【pend(锁、时间、信号量等阻塞)、suspend(主动pend)、delay(延时阻塞)、pendtime(因为锁、事件、信号量时间等超时等待)】override 关键字,可以显式的在派生类中声明,哪些成员函数需要被重写,如果没被重写,则编译器会报错。退出(Exit):该线程运行结束,等待父线程回收其控制块资源。就绪(Ready):该线程在就绪列表中,等待CPU调度。运行(Running):线程正在运行。lock()与try_lock()

2023-03-07 11:08:01 108

原创 Windows中注册表的读写

【代码】Windows中注册表的读写。

2023-03-01 15:47:52 226

原创 Windows服务程序

当这个服务需要把它当时的状态报告给SCM的时候,就必须把这个句柄传给需要它的Win32函数。像ServiceMain一样,CtrlHandler也是一个回调函数,用户必须为它的服务程序中每一个服务写一个单独的CtrlHandler函数,因此如果有一个程序含有两个服务,那么它至少要拥有5个不同的函数:作为入口点的main()或WinMain(),用于第一个服务的ServiceMain函数和CtrlHandler函数,以及用于第二个服务的ServiceMain函数和CtrlHandler函数。

2023-02-28 15:37:20 235

原创 C++基础学习

【代码】C++基础学习。

2023-02-20 17:22:04 66

原创 C++中的强引用与弱引用

引用计数实现shared_ptr ,虽然解决了指针独占的问题,但也引来了引用成环的问题,shared_ptr 和 weak_ptr 一起引入了标准库,用来解决循环引用的问题。在 shared_ptr 的使用过程中,当强引用计数为 0 是,就会释放所指向的堆内存。那么当两个 shared_ptr 互相引用,那么它们就永远无法被释放了。class CB;

2023-02-09 19:37:28 405

原创 模板函数make_shared

模板函数 std::make_shared 可以返回一个指定类型的 std::shared_ptr。

2023-02-09 19:26:24 191

原创 git的使用

(1) 使用 git stash ,将当前工作区的内容放到暂存区,便可以切换分支;(4) 使用git stash pop,将暂存区的内容还原到工作区;(3) 使用 git stash clear,可以清空暂存区记录;(2) 使用git stash list,可以查看暂存区的记录;

2022-10-27 10:39:04 163

原创 多线程的函数说明

说明:当线程执行pthread_cond_wait时,一定是处于某个临界区,正在访问共享资源,存在一个mutex与该临界区相关联。作用:等待条件变量,挂起线程。释放mutex,进入阻塞状态,等待被别的线程唤醒。参考链接: [2]https://blog.csdn.net/lyx_323/article/details/82897192。作用:等待条件变量,挂起线程,如果到了timeout,线程自动解除阻塞。(2)另一个线程使"条件成立"(给出条件成立信号)。(1)一个线程等待"条件变量的条件成立"而挂起;

2022-10-17 13:19:58 66

原创 贪心算法练习

贪心算法。

2022-09-03 21:38:42 413

原创 树专题记录

树专题基础篇树的层次遍历基础篇树的层次遍历算法描述:特例处理: 当根节点为空,则返回空列表 [] ;初始化: 打印结果列表 res = [] ,包含根节点的队列 queue = [root] ;BFS 循环:当队列 queue 为空时跳出;新建一个临时列表 tmp ,用于存储当前层打印结果;当前层打印循环: 循环次数为当前层节点数(即队列 queue .size()长度);出队: 队首元素出队,记为 node;打印: 将 node.val 添加至 tmp 尾部;添加子节点: 若

2021-12-09 11:19:56 69 1

原创 排序算法总结

排序算法总结时间复杂度、空间复杂度排序算法的分析与实现时间复杂度、空间复杂度排序算法的分析与实现冒泡排序分析:第 i 趟遍历可以将序列中的第 i 个最大值找到,放到倒数第 i 个位置;从第一个位置开始,一趟遍历找最大值,需要每次与后一个相邻位置比较,将较大值后移;template <typename T>void BubbleSort(T a[], int len){ int i, j; T temp; for (j = 0; j < len - 1; j++)/

2021-10-22 22:51:49 76

原创 动态规划专栏

动态规划(100道)分类说明以下题目均来源于力扣,其汇总主要是按照难易程度进行划分,大家可以选择适合自己的部分进入。题目难度:容易53.最大子序和70.爬楼梯118.杨辉三角119.杨辉三角 Ⅱ121.买卖股票的最佳时机338.比特位计数392.判断子序列509.斐波那契数列题目难度:中等230. 二叉搜索树中第K小的元素5. 最长回文子串22. 括号生成45. 跳跃游戏 II55. 跳跃游戏62. 不同路径63. 不同路径 II64. 最小路径和91. 解码

2021-10-17 21:19:35 190 1

转载 C++关键字

C++关键字1. volatile:定义:volatile int i;说明: volatile(多变的)关键字提醒编译器它后面所定义的变量 i 随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。...

2021-03-12 15:44:41 61

原创 递归

大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39更新第0项第1项第2项011AB先更新B:B=B+A(n-1项+n-2项)在更新A: A=B-A(更新后的B-未更新的A)递归思想是从结果推到初始值停止;循环是从初始值开始往后推所求的值。int Fibonacci...

2020-01-03 09:50:28 76

原创

输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。递归的方法:前序遍历序列的第一个值是根节点,从中序遍历序列中找到该根节点,左右序列分别作为一左子树的中序遍历和右子树的中序遍历,同时在前序遍历中也找到左子树的前序...

2020-01-02 11:03:23 64

原创 对二维数组的操作

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。从右上角开始,该元素是该行中最小在列中最大的元素,如果target等于该元素返回真;target大于该元素往下移一行;target小于该元素往左移一列。class Solution {public: ...

2020-01-01 17:59:44 319

原创 Python基本语法

Python元素类型的区分| :——– | ——–:| :–: | | 列表list | [] | 有先后顺序,有下标位,可重复,可变类型(增改) | |元组tuple | () | 有先后顺序,有下标位,可重复,不可变类型 | | 字典dict | {} | 没有先后顺序,可变类型 | |集合set|{}|没有先后顺序,可变类型 |...

2018-06-02 20:24:31 100

原创 JavaWeb客户端与服务器端跳转

客户端跳转(重定向):客户端给服务器发送一个请求,服务器给客户端一个响应(响应包含一个URL),客户端根据这个响应中的URL再次向服务器发送一个请求。地址栏改变。客户端跳转是两次请求,服务器给出两次响应。服务器端跳转(forward):客户端给服务器发送一个请求,服务器直接访问目标地址的URL,将URL的相应内容读取过来,再将这些内容发送给客户端。客户端不知道内容来自哪里,故地址栏不

2018-01-05 13:42:58 705

原创 map

map中的数据以pair形式出现的键值对,称为映射。 1.map类模板的模板头部分定义:template< typename _Key, //键值类型 typename _Tp, //实值类型 typename _Compare=std::less<_Key>, //键值排序比较器,用以确定键值排序策略,从小到大排序

2017-12-11 15:26:06 100

原创 set容器

set用来保存只有键值没有实值的容器,这类容器的基础结构是红黑树,这个红黑树各节点数据是单一数据而不是pair。当元素插入容器时,会按照指定排序自动排序,默认从小到大。#include<iostream>#include<set>using namespace std;int main(){ set<int> set1; set<int>::iterator it;

2017-12-10 19:48:24 127

原创 Vector

#include<iostream>#include<Vector>using namespace std;int main(){Vector<int> first;Vector<int> second(4,100);//100 100 100 100Vector<int> third(second.first(),second.end()); //100 100 100 100Ve

2017-11-23 21:07:05 138

原创 文章标题

3.3通过只调整指针(而不是数据)来交换两个相邻的元素——双链表实现#include<iostream>using namespace std;struct Node { int number; struct Node* last; struct Node* next;};//初始化双链表Node* initNode() { Node* first = ne

2017-10-21 17:42:40 141

原创 表、栈、队列联系

3.3通过只调整指针(而不是数据)来交换两个相邻的元素——单链表实现`#include using namespace std;typedef struct Node { int number; Node* next; }Node;//初始化单链表 Node* initNode() { Node* first = new Node(); if (firs

2017-10-21 17:07:18 220

原创 表、栈、队列联系

3.2给你一个链表L和另一个链表P,它们包含以升序排序的整数。操作PrintLots(L,P),将打印L中那些由P所指定的位置上的元素。`#include“iostream” using namespace std;typedef struct Node { int number; Node* next; }Node;//初始化单链表 Node* initNode() {

2017-10-21 17:05:19 195

原创 表、栈、队列联系

表、栈、队列联系 3.1编写打印出一个单链表的所有元素的程序。#include"iostream"using namespace std;typedef struct Node{ int number; struct Node* next;}Node;//初始化单链表Node* chushihuaNode() { Node* first; first =

2017-10-21 17:01:17 136

原创 文章标题

枚举算法

2017-09-27 19:51:22 114

win-client-5.0.00556.msi

win-client-5.0.00556.msi

2022-11-20

python的语句用法

python中语句用法的讲解(条件语句、循环语句的分析)

2018-05-02

python入门视频课

python基础入门看,快速了解python的基本语法,为人工智能学习打基础

2018-04-30

大数据和人工智能介绍

大数据和人工智能的简单介绍,python入门必备基础知识--视频文件。

2018-04-12

操作系统之PPT学习

操作系统的基本原理介绍,进程处理机管理,存储管理,设备管理。

2018-03-28

网上书城系统

实现网上书城系统只要求实现书城的查询、搜索、用户注册、用户购买等基本功能。本项目将拆分为二个子系统,即用户子系统和管理员子系统,其中管理员子系统在时间不足的情况下可暂时不完成网上书城系统的总体需求就是用户能够通过该系统查看当前最热图书和一些优质图书。然后通过该网站查找到所需书籍书籍并进行购买图书。当网上书城所展示的内容与浏览用户要求相差较大时,用户可通过留言方式与网站所有者取得联系,并给出自己的建议。个人用户可通过网站展示的精彩留言,查看其他用户的读书感悟,从而达到读书共享的目的。后台管理员能够通过自己的权限,查看注册该网站的用户数量,管理用户留言,根据留言改进优化网站,例如:调整书城中的书籍类型,书籍数量的变更,价格折扣的调整等等。管理员也可以筛选展示出精彩留言,可供浏览用户进行查看,使用户共享读书感悟。网上购书和书籍信息的浏览的基本功能

2017-12-14

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

TA关注的人

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