- 博客(24)
- 收藏
- 关注
原创 深入理解Lua闭包机制:从原理到mpv实战(深度!)
闭包 (Closure)是函数式编程的核心概念之一。在 Lua 中,闭包是一个函数实例与其**捕获的外部环境(上值)**的组合体。核心特征对比特性普通函数闭包访问范围参数 + 局部变量参数 + 局部变量 + 外部变量生命周期调用结束即销毁可以"记住"定义时的环境状态保持❌ 无状态✅ 可维护私有状态上值就是被闭包"捕获"的那些外部变量。在上面的例子中,count就是匿名函数的上值。当用创建一个 C 闭包时,栈顶的n个值会被"封装"进这个闭包,作为它的上值。在 C 函数fn。
2025-10-20 22:53:54
929
原创 【C++/Lua联合开发】 (一) Lua基础知识
Lua 是一种轻量级、高效的脚本语言,由巴西里约热内卢天主教大学(PUC-Rio)于1993年开发。它的名字在葡萄牙语中意为"月亮"。轻量级: 核心库非常小巧,完整的解释器只有几百KB高效: 执行速度在脚本语言中名列前茅,特别是使用 LuaJIT 时可嵌入: 设计初衷就是作为嵌入式脚本语言简洁语法: 语法简单清晰,易于学习动态类型: 弱类型语言,灵活但需注意类型安全垃圾回收: 自动内存管理协程支持: 内置协程机制,便于实现复杂的控制流。
2025-10-18 12:53:10
1051
原创 积加科技音视频一面
从底层实现、时间复杂度、内存使用、使用场景等角度对比。: 视频编码原理、H.264标准理解、多媒体技术基础。: 视频编码参数理解、QP与码率关系、实际编码经验。: I/O多路复用、Linux系统编程、高并发处理。: C++11内存模型、并发编程、底层系统理解。: C++内存模型、虚函数机制、面向对象原理。: 智能指针理解、多线程编程、C++11特性。: 数据结构理解、STL容器特性、性能分析。: 网络协议理解、拥塞控制算法、新技术认知。: 从实现机制、性能、使用限制等对比。
2025-09-24 19:52:25
1709
原创 理解现代C++ (七) 类的六大特殊函数(深度,体系化)
析构的平凡性影响所有构造的平凡性;其它五者的平凡性各自独立;要求除了默认构造之外的其它五者必须平凡;trivial则要求全部平凡。是在没有更多信息的前提下,也能保证拷贝安全。
2025-09-22 15:27:40
847
1
原创 理解现代C++ (六) 初始化(一文搞定)
无参数初始化有两种形式:值初始化(带有()或{})和默认初始化(无()或{}前者会保证进行初始化(调用默认构造,或清零,或混合);后者只会调用默认构造(如果是平凡的,则什么都不做)。有参数初始化,可以通过()或者{}的方式进行,两者的差异在于后者更优先匹配初始化列表,以及窄向转换的约束。在不使用()或者{}的场景下,使用进行的初始化,属于拷贝初始化。如果被初始化对象是一个class类型,copy构造或move构造会被调用;在使用()或{}的场景下,在C++ 17之后,除了explicit。
2025-09-22 09:30:00
796
原创 理解现代C++ (五) auto类型推演(最全版本,一文学会)
auto类型推演脱胎于模版函数的类型推演,它们的能力几乎等价(除了初始化列表的情况)。这也就意味着,其实在C++11之前,C++早就具备了auto的能力,只是没有从语法上允许而已。
2025-09-20 14:18:30
980
原创 理解现代C++ (四) decltype类型推演(最简单版本,一文掌握)
本文介绍了C++11引入的decltype特性,它能够推导表达式的类型,增强泛型编程能力。decltype有两种使用方式:带括号decltype((expr))和不带括号decltype(expr)。带括号时,根据表达式类别推导类型:纯右值对应非引用类型,泛左值对应引用类型(左值引用或右值引用)。不带括号时,除直接访问变量名会返回其定义类型外,其余情况与带括号一致。这种设计既满足获取变量原始类型的需要,也支持基于表达式类别的类型推导,为C++类型系统提供了更灵活的支持。
2025-09-18 19:07:58
544
原创 C++武器库之enable_shared_from_this
std::enable_shared_from_this 和 shared_from_this 为类的成员函数提供了一种安全获取自身 std::shared_ptr 的方法,特别适用于需要在异步操作、回调函数中延长对象生命周期的场景。合理使用它们可以有效避免内存管理问题,提高程序的健壮性。
2024-11-04 10:00:00
2070
原创 C++武器库之default成员函数
在C++11中引入的**=default员显式地请求编译器为类生成默认版本的特殊成员函数**。这些特殊成员函数包括默认构造函数、拷贝构造函数、移动构造函数、拷贝赋值运算符、移动赋值运算符以及析构函数。使用default可以让编译器根据语言规则自动生成这些函数的高效实现,而不是由程序员手动编写。
2024-11-01 09:15:00
608
原创 入门C++模板编程(二) 类模板
C++模板类,也称为类模板(Class Template),是C++中一种强大的泛型编程工具。它允许程序员定义一个通用的类蓝图,这个蓝图可以被实例化为处理不同数据类型的多个具体类。通过使用类模板,我们可以编写出更加灵活、可重用且高效的代码。
2024-10-29 09:30:00
1515
原创 音视频开发(1)-- FFmpeg源码编译(Windows,Mysys2)
文章目录FFmeg源码vs2019编译mysys2安装和配置VS2019编译工具运行编译x264编译fdk-aac编译X265编译ffmpegFFmeg源码vs2019编译为了获取pdb文件,调试进入ffmpeg源码,以及定制某些功能需要修改ffmpeg源码时,都需要使用源码编译fffmpeg,这里记录下windows环境下编译的详细过程。32位的编译比较繁琐,64位版本相对简单。mysys2安装和配置mysys2下载及镜像配置参考还是很有必要的,使用国外的源,速度堪忧VS2019编译工具运
2021-09-22 20:24:22
966
1
原创 音视频开发(0) -- 引
零Hello Player新的起点计划开发原则想说的话Hello Player最近承担了公司跨平台plyayer开发任务,主要涉及rtsp拉流以及播放,算是对以前一知半解的知识有了一次重新学习和梳理的机会。新的起点难得有时间和精力做一件完整的事情,并且是预期是长期维护的项目,就想着把业务无关的部分抽取出来,做一个基础的播放器,供大家一起学习参考。新的征程即将开启,想想还有点小激动。计划第一期主要是windows平台,支持rtsp协议,多路播放。第二期会加入rtmp,有机会的话希望能搭一套直播
2021-05-26 00:29:57
165
原创 新手向:一键秒杀-扫雷
逆向真是一件很酷的事情,通过它,你可以简单化很多道繁琐的步骤,直达目的。 扫雷算是破解里比较简单入门的了吧,所以就花了两天时间做了下,功能比较简单,仅供新手参考用。 语言:vc 工具:vc++ 6.0 od (ce可选)1.载入od: 这里的话,我本来想通过 bp RegisterClassW 来找到窗口注册类,发现总会陷入内核
2015-07-11 13:05:44
1267
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅