KalosAner Blog

「山穷水复疑无路,柳暗花明又一村。」

C++内存管理之标准分配器

C++内存管理之标准分配器 1、cookie malloc 函数在申请内存的同时也会分配一段 cookie 用来记录区块的大小,但是当所有申请的区块大小相同或者只有两三种大小的区块时,使用 cookie 不是很有必要。如图所示当申请 12 个字节时(block size 是申请的内存),malloc 会分配 0xC + (32 + 4) + 4 * 2 = 0x38 然后填充成 0x...

音视频技术学习方法

音视频技术学习方法 1、视频播放器原理 视频播放器播放互联网上的视频需要经过以下几个步骤:解协议,解放装,解码视音频,视音频同步。如果播放本地视频则不需要解协议。如下为过程示意图。 解协议的作用,就是将流媒体协议的数据,解析为标准的相应的封装格式数据。视音频在网络上传播的时候,常常采用各种流媒体协议,例如HTTP,RTMP,或是MMS等等。这些协议在传输视音频数据的同时,也会传输一...

C++内存管理之自制分配器

C++内存管理之自制分配器 1、简单的内存池 内存管理的目的主要是为了节约时间和空间,虽然调用 malloc 并不慢,但是也应该尽可能地减少调用它的次数。减少调用 malloc 的调用次数可以通过一次性地调用大块内存,这样每次需要的时候只需要把没用到的内存分配出去即可,这种方法称之为内存池,如下例所示。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17...

npm安装bundle包时报错

npm安装bundle包时报错 问题: npm版本10.2.4 npm安装bundle包时报错:sill idealTree buildDeps 解决方法: 1 npm set strict-ssl false

修改博客框架以支持文章分类

修改博客框架以支持文章分类 问题: 我使用黄玄的博客框架搭建了一个个人博客网站,想修改一下网站样式可以把两个不同文件夹里的blog(markdown格式)渲染到两个不同的网页。 方法: 基本思路就是修改解析 md 文件的代码,但是这个博客框架解析 md 文件是使用 Jekyll 解析的,所以仅需要修改配置就行。 1、在 _config.yml 中添加以下代码: 1 2 3 col...

C++内存管理之 new 与 delete

C++内存管理之 new 与 delete 截止2010年之前Linux下的glibc中的malloc来自Doug Lea。 new express class的构造函数无法被直接调用,只能使用new express在分配内存的同时调用,例如new string。 new express:申请内存并调用构造函数,底层会通过调用malloc实现。 operator new:申请内存,...

开源许可规则

开源许可规则 第二章图片转载自:https://www.bilibili.com/video/BV1ngzrYREyS/?spm_id_from=333.1007.tianma.2-3-6.click&vd_source=e168f5e534dbfee9b7d558d35e4ee09e

Markdown流程图语法示例

Markdown流程图语法示例 一、Markdown 流程图语法示例 不在 Markdown 涵盖范围之内的标签,都可以直接在文档里面用 HTML 撰写。 目前支持的 HTML 元素有:<kbd>、<b>、<i>、<em>、<sup>、<sub> <br> 使用 Ctrl+Alt+Del 重...

FFmpeg命令行使用技巧

FFmpeg命令行使用技巧 音视频从采集到播放流程: 命令查询: 命令参数 内容 命令参数 内容 -version 显示版本 -bsfs 显示可用比特流filter -buildconf 显示编...

意想不到的 CPP 语法

意想不到的cpp语法 1、位运算 & 的优先级比 == 还要低。 2、结构体内存对不齐在编译时可能会出问题导致数据错误。