阅读内核源代码的“七种武器”

这第一种武器,应该是一个很好用,或者是比较熟悉的 ”源代码阅读软件“,有了它,就可以在源代码中穿梭自如,我使用的是kscope,自认为相当不错的源代码阅读软件,除了穿梭于源代码之间,还有一个非常贴心的功能,就是可以生成指定函数的模块图,包括哪些函数调用了它,也包括指定的函数会调用哪些其他的函数。


第二件武器是gnu c 的预处理扩展,很致命的一件武器,不了解它,几乎是寸步难行,哪些眼花缭乱的 #define,##。。。,如果没有掌握点gnu的扩展,那基本上就是看热闹。

第三件武器是 gnu c 的内嵌汇编语言,如果有masm的基础,对理解AT&T格式的汇编代码困难不大,但当涉及到参数传递,My God,我只能希翼能有针对这个方面的中文手册,所看到的,所收集的都是简单带过,太多的隔靴瘙痒了。

第四件武器是眼力,这似乎和代码无关,但非常重要,我觉得如果要看大量的源代码,必须训练自己拥有一双C语言模式的鹰眼,可以快速识别源代码中的C语言语法范式,否则,就要多多问候自己的那双明亮的眼睛,花否?


第五件武器是非常出色的理解typedef、指针的能力,这或许也该说是C语言语法的一种能力,阅读源代码,千万别因为能看懂那些显式的数据类型而沾沾自喜,认为掌握了C语言的精髓,而真正的竞技场是typedef和指针的盘根错节,了解的人可能会非常喜欢它,如果还不够了解或者不太熟练,那绝对是个静候在暗处的杀手,随时杀掉你好不容易建立起来的阅读源代码的兴趣。

第六件武器,硬件体系结构和操作系统原理,这个不消说,这把大刀从来就是越磨越亮!


第七件武器,我想也是最关键的,有如世上的各种”名剑“,都需要”玄铁剑“般的沉稳,”残剑”般破荆斩棘的勇气,”冰魄剑“般的单纯,还有”越女剑“以柔化刚的韧劲,如果没有这几样品质,想成为风流名剑,只能考虑”辟邪剑谱“了!

你可能感兴趣的:(阅读内核源代码的“七种武器”)