- 博客(9)
- 收藏
- 关注
原创 初探ELF文件格式:解析一个可执行文件的头部
ELF(Executable and Linkable Format)是Unix/Linux系统中标准的可执行文件、共享库和目标文件格式。其文件头部包含关键元数据,用于描述文件结构和执行环境。ELF头部位于文件起始位置(偏移量$0$),固定52字节(32位)或64字节(64位)。节头表(Section Header Table)包含链接与调试信息,通过。:程序头表(Program Header Table)描述内存分段信息,可通过。Python解析示例(需。
2025-09-18 13:15:02
278
原创 使用Three.js加载并渲染复杂的.glb模型文件
Three.js是一个强大的JavaScript库,用于在Web浏览器中创建3D图形。加载和渲染GLB格式(GLTF的二进制版本)的复杂模型时,需要处理模型加载、场景设置和性能优化。首先,在HTML文件中引入Three.js核心库、GLTF加载器(用于加载.glb文件),以及可选的DRACO解压缩器(处理复杂模型压缩)。确保使用最新版本(推荐r128+)。复杂模型需要合理的相机位置和光源配置,以避免渲染问题。通过以上步骤,你可以高效加载和渲染复杂的GLB模型。运行后,模型将渲染在浏览器中,并可交互旋转。
2025-09-18 13:08:10
698
原创 剖析V8引擎的垃圾回收机制:从新生代到老生代
V8的垃圾回收机制通过分代设计(新生代和老生代)显著提升效率:新生代快速回收短期对象,减少开销;老生代稳定处理长期对象,避免内存泄漏。晋升机制(基于存活计数$k$)确保对象平滑迁移。整体上,该机制结合算法优化(如Scavenge、Mark-Sweep)和工程技巧(如增量标记),使V8在高性能JavaScript执行中保持低延迟。开发者可通过监控GC日志优化应用,例如减少短命对象创建以降低新生代压力。
2025-09-18 13:02:48
854
原创 前端性能优化之:详解浏览器渲染流程与重绘、重排
$ \text{渲染时间} = T_{\text{layout}} + T_{\text{paint}} + T_{\text{composite}} $$$$ \text{FPS} = \frac{1000}{\text{单帧耗时}(ms)} \quad \text{(目标值 ≥ 60)} $$$$ \text{位置坐标} = f(\text{盒模型}, \text{浮动}, \text{定位方式}) $$将布局结果转换为屏幕像素。将各图层合并为最终画面。
2025-09-18 12:58:05
839
原创 深入Linux内核:编写一个最简单的字符设备驱动
动态分配主设备号: $$ \text{major_num} = \text{register_chrdev}(0, \text{DEVICE_NAME}, &\text{fops}) $$
2025-09-17 18:54:19
191
原创 自己动手写一个Bootloader:在裸机上打印“Hello World”
下面是一个可在裸机环境运行的Bootloader示例,使用x86汇编语言编写,通过直接写入显存实现文本输出。代码符合Bootloader规范(512字节,以0xAA55结尾)。,后续保持挂起状态。此代码符合Bootloader基础规范,可作为操作系统开发的起点。计算机启动后将直接在屏幕左上角显示黄色字体的。
2025-09-17 18:38:53
221
原创 探索x86架构的CPU模式:从实模式到保护模式再到现在
从实模式到保护模式:解决了内存限制和安全问题,开启了多任务时代(1980s-1990s)。从保护模式到长模式:扩展了64位能力,支持现代应用(2000s至今)。关键驱动:向后兼容性是x86成功的核心——新处理器仍以实模式启动,然后切换到保护或长模式。例如,现代PC启动序列:BIOS/UEFI初始化实模式,加载bootloader切换到保护模式,最终进入长模式。未来趋势:随着AI和量子计算发展,x86可能进一步优化模式(如增强虚拟化),但核心模式结构保持稳定。
2025-09-17 18:17:43
662
原创 利用Raspberry Pi Pico模拟USB HID设备(如键盘)
通过此方案,Pico可模拟键盘、鼠标等标准HID设备,适用于自动化测试、宏按键等场景。
2025-09-17 17:40:39
1449
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅