自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (1)
  • 收藏
  • 关注

原创 C++一面音视频经验

循环编码音频采样数据->音频压缩数据 ———>AVFrame转化为AVPacket。防竞争字节:为了区分 0 0 0 1,它采用0 0 0 0x3 1作为区分。9.将编码后的视频码流写入文件 ——>AVPacket转化为AVFormat函数。8.av_read_frame :将avPacket数据转换为avFrame数据。表示NALU长度的前缀,不定长用4、2、1来存储这个NALU的长度。2.创建AVFormatContext的对象上下文。PTS: 显示时间戳,表示解码后显示的时间。

2024-09-03 15:21:43 475 1

原创 什么时候用进程或者线程呢?

进程是指在系统中正在运行的一个应用程序;程序一旦运行就是进程。进程可以认为是程序执行时的一个实例。进程是系统进行资源分配的独立实体, 且每个进程拥有独立的地址空间。一个进程无法直接访问另一个进程的变量和数据结构, 如果希望让一个进程访问另一个进程的资源,需要使用进程间通信,比如:管道,文件,消息队列,共享内存, 套接字等。一个进程可以拥有多个线程,每个线程使用其所属进程的栈空间。

2024-07-25 17:20:49 1219 1

原创 windows qt编译报错 无法打开包括文件: “EGL/egl.h”: No such file or directory

windowsmingw32qt creatorQtAV推荐ffmpeg依赖包QT5.14.2如果出现:无法打开包括文件: “EGL/egl.h”: No such file or directory可能是Qt6的问题.在QT5上安装。可以下载官方推荐的FFmpeg依赖包:https://sourceforge.net/projects/qtav/files/depends/QtAV-depends-windows-x86%2Bx64.7z/download。

2024-07-17 21:00:41 714

原创 音视频编解码常用知识点

实现HTTP Live Streaming直播,需要研究并实现以下技术关键点 >* 采集视频源和音频源的数据 >* 对原始数据进行H264编码和AAC编码 >* 视频和音频数据封装为MPEG-TS包 (连续的、很短时长的媒体文件)>* HLS分段生成策略及m3u8索引文件 >* HTTP传输协议。SIP会话传输一些简单的经过报文的实时传输协议流,RTP/RTCP本身才是语音或视频的载体。例如,采用RTMP协议传输的数据,经过解协议操作后,输出FLV格式的数据。RTSP 的语法和 HTTP 的语法基本相同。

2024-06-25 15:46:15 1500

原创 马士兵讲开发语言,行业,跳槽的伤害

webgl。

2024-06-12 15:46:40 159

原创 SQL常见语句

kill 掉这些线程(同时观察 CPU 使用率是否下降),等进行相应的调整(比如说加索引、改 SQL、改内存参数)之后,再重新跑这些 SQL。SHOW PROCESSLIST 查看正在运行的线程,是不是有消耗资源的 SQL 在运行,找出其中消耗高的 SQL,看看执行计划是否准确。COUNT(column):返回列中非空值的数量。AVG(column):返回列的平均值。MIN(column):返回列的最小值。MAX(column):返回列的最大值。SUM(column):返回列的总和。

2024-05-24 17:24:06 237

原创 win11中wsl安装debian

win11中wsl安装Debian,wsl本身包括

2024-05-16 16:07:37 1018

原创 使用Nginx搭建自己的CDN服务器

nginx搭建自己的CDN服务器

2024-05-15 17:45:42 5978

原创 CDN原理和使用,调度系统原理和实现

CDN原理和使用,调度系统原理和实现,Nginx负载均衡,反向正向代理,缓存代理;BGP路由协议

2024-05-14 18:19:01 1579

原创 TCP、UDP原理

TCP、UDP原理

2024-05-09 11:40:18 428

原创 如何优化 C++ 程序的性能?

算法优化,代码优化,编译器优化

2024-05-08 16:58:57 918

原创 请解释一下 C++ 中的深度拷贝和浅拷贝。

C++深拷贝:赋值构造函数,复制构造函数

2024-05-08 16:56:58 285

原创 如何使用 C++ 标准模板库(STL)中的容器和算法?

C++标准模板库(STL)是C++语言的一个组成部分,提供了通用的、模块化的、可重用的组件,用于处理数据结构和算法。STL包含容器、迭代器、算法和分配器四个主要部分。

2024-05-08 16:54:19 287

原创 C++ 中的 IO 库是如何工作的?

C++中的IO库

2024-05-08 16:51:13 325

原创 描述一下 C++ 中的静态多态和动态多态

静态/编译多态:函数重载,操作符重载,模板;动态/运行时多态:虚函数,指针和引用

2024-05-08 16:48:33 972

原创 如何实现 C++ 中的类型 traits?

如何实现C++中类型

2024-05-08 16:40:51 378

原创 请解释一下C++中的lambda表达式

using namespace name;

2024-05-08 16:27:39 268

原创 C++ 中的 lambda 表达式有什么用途?

lambda表达式

2024-05-08 16:24:37 447

原创 什么是 C++ 的内存泄漏,如何避免它?

C++防止内存泄漏的10种方案,RAII,深拷贝,双引用移动资源

2024-05-08 16:22:37 634

原创 请解释一下 C++ 中的 SOLID 原则。

5原则:单一职责,开闭,里氏替换,接口隔离,依赖倒置

2024-05-08 16:04:00 414

原创 如何使用 C++ 实现多线程编程?

实现多线程,std::stread库

2024-05-08 15:57:36 433

原创 C++ 中的线程局部存储(Thread Local Storage, TLS)是如何工作的?

C++线程局部存储,允许存在不同的值

2024-05-08 15:54:34 471

原创 描述一下 C++ 中的静态类成员和全局变量的区别

C++中静态类成员和全局变量的区别:作用域,生命周期,等

2024-05-08 15:39:07 806

原创 请解释一下 C++ 中的内存管理,包括动态内存分配和释放。

动态内存分配和释放,单个对象,数组对象区别释放方式

2024-05-08 15:31:06 450

原创 C++11/14/17/20 中引入了哪些新特性?

C++11/14/17/20引入新特性

2024-05-08 15:28:03 1123

原创 请解释一下 C++ 中的 Rvalue 和 Lvalue

左值可以被取地址(&)操作符获取其内存地址,右值是指那些不具有内存地址或者其地址是临时的、不需要被赋值的表达式

2024-05-07 18:52:19 392

原创 什么是 C++ 的异常处理机制?

try,catch,throw,抛出一个 std::invalid_argument 异常

2024-05-07 18:35:20 442

原创 描述一下 C++ 中的模板(template)和泛型编程。

C++ 中的模板是一种支持泛型编程的机制。泛型编程是一种编程范式,它允许程序员编写出可以处理多种数据类型的代码,而不必在编译时就确定具体的数据类型。这种编程方式提供了灵活性和可重用性,因为编写的代码可以用于多种不同的数据类型,而不需要为每种数据类型编写不同的代码。

2024-05-07 18:33:08 302

原创 纯虚函数(pure virtual function)和抽象类(abstract class)有什么区别?

一个类如果包含至少一个纯虚函数,它就成为了一个抽象类。一个抽象类可以包含多个纯虚函数,也可以包含没有被声明为虚的普通成员函数。

2024-05-07 18:29:28 329

原创 C++ 中的虚函数(virtual function)是什么,它如何实现运行时多态?

基类虚函数,派生类虚函数,虚析构函数

2024-05-07 18:25:44 942

原创 如何防止类的拷贝?

防止类的拷贝:1.私有拷贝构造函数2.删除3.虚拟化4.构造函数保护5.使用单例模式或依赖注入,来避免拷贝类的实例

2024-05-07 18:16:47 271 1

原创 请解释一下 C++ 中的构造函数和析构函数

与对象的生命周期紧密相关

2024-05-07 18:11:14 346

原创 什么是智能指针,它们是如何工作的?

std::shared_ptr通过维护引用计数管理对象的生命周期,std::shared_ptr被复制时,引用计数增加,当一个std::shared_ptr被销毁时,引用计数减少。只有当引用计数达到零时,所指向的内存才会被释放,可以在多线程中使用;std::weak_ptr避免循环引用

2024-05-07 18:08:02 390

原创 描述一下 C++ 中的四种类型转换

C++四种类型转换,static_cast内置数据类型转换,dynamic_cast基类指针转换为派生类指针,reinterpret_cast非常危险的转换,const_cast移除 const 或 volatile 的限定符

2024-05-07 18:03:28 163

原创 使用智能指针来实现单例模式

使用智能指针实现单例模式,通过维护一个引用计数来跟踪有多少个 std::shared_ptr 指向同一个对象。当引用计数为零时,对象会被自动删除;使用 std::weak_ptr 避免循环引用

2024-05-07 17:52:50 653

原创 什么是 RAII(Resource Acquisition Is Initialization)

核心思想是将资源的生命周期与拥有该资源的对象的生命周期绑定。这意味着资源在对象创建时获得,并在对象销毁时自动释放,从而避免了内存泄漏和其他资源管理错误

2024-05-07 17:47:11 500

原创 解释 C++ 中的引用(reference)和指针(pointer)的区别

引用与指针的区别

2024-05-07 17:33:51 432

原创 C++ 与 C 语言的区别是什么?

C++ 与 C 语言的区别是什么

2024-05-07 15:31:47 451

原创 如何写好科研论文(雨课堂)-期末考试答案

如何写好科研论文(雨课堂)-期末考试答案

2022-12-30 19:05:37 57731 3

原创 gdb调试

gdb调试方法汇总gdb调试core文件gdb core文件btgdb调试进程*查看进程ps aux | grep mgdgdb -p 进程号cbnps

2022-01-29 15:42:06 1245

深入理解计算机系统答案(超高清电子版).pdf

深入理解计算机系统答案(超高清电子版).pdf,章节后的家庭作业,题号跟章节编号都得往后错错,对照题目解答就能清楚知道是哪一章的哪一题了。

2015-12-20

空空如也

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

TA关注的人

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