七天LLVM零基础入门这系列文章,为了让刚接触LLVM的人在最短的时间内快速的熟悉LLVM。这系列文章,现在经过将近一年的时间的使用,有了不少反馈的意见,现在将这些情况总结一下。
1. 在按照这个七天的学习计划进行的学习过程中,不少人出现了延误现象,主要体现在读文档的时候,读的过于仔细,然后感觉时间不够用。虽然在文档上花了很长时 间,但是到最后该用文档中的东西的时候,反而无从下手。出现这个问题,主要还是不会把握文档的重点,这个系列中列出来的文档,在日后接触LLVM的过程 中,需要不断的去读,反复的去读。不是读一遍就可以完全掌握的,在最开始读的时候首先要熟悉文档的主要结构,了解文档里都覆盖了哪些内容,然后在用的时候 可以知道在哪里能找到,这就达到了目的。
特别是针对刚毕业的学生,特别容易对文档抠的太仔细,全是新东西,花了很长时间看完了,回头发现什么也没记住。这就导致既花费了时间,又没有效果,不是在 公司实际工作中该出现的,在工作中学习东西就是为了更快的使用,不是为了考试,所以如果读完了没有收获,那么等于就是白读了。
2. 这个系列中第五天布置了一个练习,在第六天的时候给出了一个官方的例子。这个最初在刚开始的时候,是我每天一篇写出来,所以不存在什么问题。现在把整个系 列都发布了,有些让学习这个系列的人就延续了在学校时候的做法,如果有答案是完全不动脑子的。导致第五天的练习基本上都是抄袭第六天的LLVM的官方例子 的。这样的情况实在是懒得费心去避免了,在工作中学到的东西就是自己的,学不会,完不成工作任务,公司自然有公司的办法。如果跟在学校跟老师玩猫捉老鼠的 游戏,实在是得不偿失了。
3. 学习过程中思考太少。学习了这些内容之后,应该可以正常的使用LLVM,并且应该对LLVM的IR有了一个基本的认识,可以阅读简单的LLVM IR程序,可以写简单的优化的PASS,可以写一些测试用例,并且应该是对LLVM有了一个整体的基本认识。但是有一些人学习完了之后,除非给他一个跟练 习一模一样的任务,否则还是做不了,该读的文档都读了,该做的练习都做了,问题出在哪?没有自己去思考,没有自己去探索。编译器的领域在计算机领域里不是 最难的,但是也算不上是简单的领域,如果自己不用心思考,不用心去探索,根本不可能搞精通。
4.学习完成之后,以为自己就完全精通LLVM了,之前的文档也不看了,平时也不在这个的学习上面花时间了。这种情况一般出现在前面学习的还行,入 了一点门,然后就觉的自己好像忽然都明白了,其实从这系列文章的题目上就能看出来,这只是入门。这系列学的再好,也就是刚刚入门。所以,后面需要学习的东 西还很多,所谓活到老学到老。后续会写一系列的LLVM进阶的文章,方便进一步探索LLVM的人,也会按照天数进行划分。
后续一系列进阶的博文名称暂定:LLVM零基础进阶
来源:oschina
链接:https://my.oschina.net/u/860439/blog/198129