技术速记卡
· 12 min read
💡 本页用于存放 极简技术记录:每个条目仅用 1–3 行说明问题现象、根因与解法,不求完整,但求可检索、可复用。
目标:未来遇到同类问题时,30 秒内唤醒记忆。
加载评论中...
嵌入式调试经验,比如日志打印技巧
View all tags💡 本页用于存放 极简技术记录:每个条目仅用 1–3 行说明问题现象、根因与解法,不求完整,但求可检索、可复用。
目标:未来遇到同类问题时,30 秒内唤醒记忆。
在学习环形缓冲区实现时,我看到很多教程(包括权威资料)用 assert 校验参数,理由很理想化:“避免代码中充斥条件判断,用 Design by Contract(契约式设计)明确 API 使用前提。”
这听起来很美——如果调用者永远不犯错,程序就能保持简洁高效 ✨。
为什么会有这篇博客?🤔
在学习嵌入式开发的过程中,我时常遇到一些值得记录的知识点——或许是一个巧妙的代码技巧,一次有效的调试方法,或是某个开发工具的实用配置。虽然它们未必足以立刻写成一篇完整的博客,但若不及时记下,又怕日后遗忘。
然而,我无法每次一有灵感就停下手中工作去撰写详尽文章——那样反而会拖慢主线任务的进度。
于是,我创建了这个“博客缓冲区”:一个临时存放零散思考与实践心得的地方。它内容庞杂、主题不拘,堪称技术笔记的“大杂烩”。
未来若有时间,我会将其中有价值的内容提炼、扩展为独立成篇的正式博客。
理想状态下,这个缓冲区应当始终保持轻量,甚至空无一物。
本文记录我在嵌入式开发中逐步完善的调试日志实践,核心是通过条件编译与宏封装,在保留诊断能力的同时实现零运行时开销。