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

 

posted @ 2022-10-28 21:57  yinhuachen  阅读(257)  评论(0编辑  收藏  举报