不知不觉已经待这小地方两年了,从一无所知,到觉得无所不知,再到觉得一无所知,起起伏伏也有不小的感慨。今天闲暇就把学
kernel驱动的所思所想记录下来。
刚毕业之时,一无所有,除了带着一点c语言根基(虽然后来发现对我帮助最大的就是c语言的编程思想),无所畏惧的就踏入了这
一行。初到公司,什么任务也没接受,先让查看高通文档,而高通文档确是无所不包,顿时有种老虎啃天,无处下口的感觉。问档也是
纯英文版本,看的也是兴趣缺缺。碌碌无为两周,开始让看代码。还是感觉看代码亲切不少,等等。这代码是什么意思,怎么这么多莫名
奇妙的名字,main在哪,我从哪里来,我要到哪里去。。。。真的,刚开始看公司项目代码,你会发现面对的第一个问题,这不是大学里
简单的代码,你所负责的东西看不到最最最原始的开头,凭你现在的知识积累,你绝对看不到项目最初的起始点。这对新人来说是很致命的,
你或许会需要两个星期还要长的时间去适应这个结果,因为他目前来说是颠覆了你以往的认知(我后面再遇到的新人问我问题永远开始都是,
师兄,这个代码的main在哪,我怎么找不到该从哪开始)。
好,首先来看新人遇到的第一个问题,main在哪,按我个人理解,不要去拘泥于main在哪,你要想的是让你的前辈告诉你一个绝对被调用
的地方,然后你以此为根据,慢慢前后打通。你可以先看这个被调用的东西因谁而起,条件是什么,谁又是因谁而起,直到,你再也看不懂了,
那么就暂停。顺一顺脉络你会发现,哦,这个是这样被调用的,这个又因为什么外在条件调用。这样看完后,你可能会思考,我调用这个的意义
是什么,然后就开始往下顺,一个函数也不要跳过去(新人很多时候看不懂的时候就会自作聪明的先看他看的懂的地方,看不懂的一律当做
没见过,也不会去管看不懂的函数什么意思),顺到你再也没法往下看了,停止。 然后再做归纳总结,对于你新学的这个东西你已经有了一个
大概的了解,切