视频加载失败

Better Mistakes

我会用 Git,但它到底在做什么?从对象数据库到现代工作流
我用 Git 2.54.0 建了一个隔离仓库,从 blob、tree、commit、index、ref 和 reflog 拆开 add、commit、branch、merge、rebase、fetch、pull 与 push,再整理一套意图明确、可恢复的现代 Git 命令行。
#Git#Version Control#Development
一台不存在的计算机:QEMU 工作原理与实践
我用 QEMU 10.2.4 从零启动一个 512 字节 x86 扇区,运行 992 字节 AArch64 ELF,再沿着 machine、TCG/KVM、设备与后端、VirtIO、QMP、GDB、磁盘、网络和 ARM virt 拆开完整系统模拟链。
#QEMU#Linux#Virtualization+1
我追了一遍 Kbuild: 从一行 obj-m 到可以加载的 Linux 内核模块
我用 Linux 6.18 写了一个双文件外部模块,追踪 obj-m、scripts/Makefile.build、.cmd、modpost 和最终 .ko,再把它装进 QEMU 并迁移回内核树验证 n、m、y。
#Linux#Kbuild#Kernel Module+1
我拆开了 Kconfig: 从一个选项到 U-Boot 和 Linux 的条件编译
我用 Linux 6.18 的 Kconfig 前端搭了一个 30 行的实验板级配置,再沿着 Kconfig、defconfig、.config、auto.conf、autoconf.h 和 Kbuild 追踪 U-Boot 与 Linux 到底如何裁剪代码。
#Linux#U-Boot#Kconfig+1
从错误码到栈展开: 我如何理解 C++ 异常
我从嵌入式 C 的错误码出发,用一个可运行的栈展开实验串起 C++ 异常、RAII、捕获边界、noexcept、异常安全,以及 std::expected 的适用边界。
#C++#Error Handling
我终于学会了 grep,然后换成了 ripgrep
我一直在复制 grep 命令,却没有真正理解它。这次我从单个日志文件开始,弄清模式、正则、管道和退出状态,再把同一套搜索迁移到更适合代码仓库的 ripgrep,并做了一次 126 MiB 的实测。
#Linux#CLI#grep+2
从零学习 vcpkg: 用现代 CMake 做一个 HTTP CLI
我用 vcpkg、现代 CMake、CPR、CLI11 和 spdlog 做了一个可运行的命令行 HTTP 客户端,并沿着清单、baseline、triplet、toolchain 和 imported target 把 C/C++ 依赖管理串起来。
#C++#vcpkg#CMake+1
npm 与 pnpm 安装的到底是什么?从 JavaScript 包到原生模块
我原以为 npm 和 pnpm 安装的只是 JavaScript 或 TypeScript 包,直到遇到 sharp 这类包含原生模块和平台产物的依赖。本文在 WSL2 中动手实验,沿着 registry、lockfile、store、node_modules 和 CLI 入口把这件事弄清楚。
#Node.js#npm#pnpm+2
Cudy TR3000 256 MB 刷入 ImmortalWrt:一次完整的图形化流程
记录 Cudy TR3000 256 MB V1 从原厂固件、签名中间固件到 ImmortalWrt 25.12.1 和自定义镜像的完整图形化刷机流程,并介绍官方 TFTP 恢复方法。
#Cudy#TR3000#ImmortalWrt+2
从暂停到理解:GDB 调试完整实践
我用一个带有逻辑错误、递归、线程和崩溃路径的 C++20 小程序,从第一次启动 GDB 开始,实作源码定位、断点、栈帧、内存、寄存器、异常、线程、远程调试、优化、脚本和反向执行。
#Linux#C++#GDB+1
Profile Image of the Author
bfmhno3
Hello, I'm bfmhno3.
公告
本站曾使用 Jekyll + Minimal Mistakes 主题,现已迁移至 Astro + Firefly。博客内容未变,但文章链接有所调整,请自行查找需要的文章。
分类
标签
最新动态
站点统计
文章
36
分类
2
标签
58
总字数
136,569
运行时长
0
最后活动
0 天前
站点信息
构建平台
GitHub Actions
博客版本
Firefly v6.16.7
文章许可
CC BY-NC-SA 4.0

当前页面没有目录

文章目录

当前页面没有目录