yzh第六课(NEMU代码导读)笔记
了解程序/工具行为的两种方法:
1. 看源码:可以得知每一处静态细节,但较繁琐
2. 看踪迹:容易了解运行动态行为,但不全面
下手要选容易的方式:看踪迹
啊
啊
啊
在面对比较大的项目时,如果这个项目有自带的 log/trace,那简直就是无价之宝
a
a
使用 man console_codes 可以看到很多类似于 “如何使用 printf 打印有颜色的输出 / 或者叫一声” 的内容
使用 man setbuf 可以看到关于输出终端缓冲区的一些内容
a
这是设置项目 Log 机制的一个非常好的例子(重点:1. 使用 __FILE__, __LINE__, __func__ 可以非常方便后期的调试 2. 宏展开后,字符串末尾自动加'\n')
a
把内存设置为随机值的原因是:如果内存初始化为0,当nemu上的程序中存在某些bug时,可能不会被暴露出来,因此设置为随机值让它暴露出来
a
可以使用 clang-format 等代码格式化工具来格式化 预编译 输出,可大幅提高工作效率。
(能让电脑做的事情,就别人工去做)
a
有些宏看起来多此一举,实际上是为了方便编译器优化它们
a
最好的代码是 1. 不言自明 2. 不言自证的
a
Kconfig 的本质:是一个用来维护 宏之间的依赖关系 的工具
a
Menu config
a
a
Makefile 中的黑白名单
a
a
a
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?