之前一直关注LLVM和基于LLVM的工程(工具)多一些,对Clang和基于Clang的工具关注不是很多。这就导致了一个很严重的问题,觉的如果要深入理解Clang就必须要去读Clang的源码,这个想法不是不对,但是这不是唯一的路,而且Clang的源码太多,容易让人无法坚持下去,也容易让人无从下手。
了解了Clang的一些工具之后,觉的这些工具是一个很好的切入点,简单、方便使用、代码量不大,却可以完成很多以前觉的是很难实现的工作。这让我觉的找到了可以深入学习Clang的另外一条路,从这些简单的工具入手,先熟悉这些工具的原理和代码,然后通过这些工具再挖掘Clang相关的知识点,等积累到一定程度,再通过通读Clang的代码,达到对Clang深入了解的程度。相对来说,比之前的路要好走一点,毕竟工具都可以直接调试,也很方便阅读代码。
同时,在这段不断接触LLVM的过程中,还发现了一个问题。这个问题就是读英文文档之后,印象不深刻,读了好几遍,印象还是不怎么深刻。虽然这可能跟阅读习惯和英语水平有一定关系,但是我个人觉的主要的原因还是没有能够逐字逐句的去抠文档。英文文档,看着看着就没心思看了,看着看着就就走神了。有些文档虽然看了很多遍,但是还是效果不好。现在自己找到了一个笨办法,就是翻译英文文档,在翻译的过程中,为了理解一句话,需要不断的揣摩不断的去分析每个词,然后再琢磨如何去用中文表达。这个过程给人的印象比较深刻,而且翻译出来的中文也方便自己回头再看,也可以给其他不想看英文文档的人看。
在接下来的一段时间里,打算尝试下这种翻译文档读文档的方法,看看长期效果如何。最大的缺点就是比较浪费时间,一篇不长的文档需要两个小时到三个小时。