Android-高通代码接触初篇

        不知不觉已经待这小地方两年了,从一无所知,到觉得无所不知,再到觉得一无所知,起起伏伏也有不小的感慨。今天闲暇就把学

kernel驱动的所思所想记录下来。

        刚毕业之时,一无所有,除了带着一点c语言根基(虽然后来发现对我帮助最大的就是c语言的编程思想),无所畏惧的就踏入了这

一行。初到公司,什么任务也没接受,先让查看高通文档,而高通文档确是无所不包,顿时有种老虎啃天,无处下口的感觉。问档也是

纯英文版本,看的也是兴趣缺缺。碌碌无为两周,开始让看代码。还是感觉看代码亲切不少,等等。这代码是什么意思,怎么这么多莫名

奇妙的名字,main在哪,我从哪里来,我要到哪里去。。。。真的,刚开始看公司项目代码,你会发现面对的第一个问题,这不是大学里

简单的代码,你所负责的东西看不到最最最原始的开头,凭你现在的知识积累,你绝对看不到项目最初的起始点。这对新人来说是很致命的,

你或许会需要两个星期还要长的时间去适应这个结果,因为他目前来说是颠覆了你以往的认知(我后面再遇到的新人问我问题永远开始都是,

师兄,这个代码的main在哪,我怎么找不到该从哪开始)。

        好,首先来看新人遇到的第一个问题,main在哪,按我个人理解,不要去拘泥于main在哪,你要想的是让你的前辈告诉你一个绝对被调用

的地方,然后你以此为根据,慢慢前后打通。你可以先看这个被调用的东西因谁而起,条件是什么,谁又是因谁而起,直到,你再也看不懂了,

那么就暂停。顺一顺脉络你会发现,哦,这个是这样被调用的,这个又因为什么外在条件调用。这样看完后,你可能会思考,我调用这个的意义

是什么,然后就开始往下顺,一个函数也不要跳过去(新人很多时候看不懂的时候就会自作聪明的先看他看的懂的地方,看不懂的一律当做

没见过,也不会去管看不懂的函数什么意思),顺到你再也没法往下看了,停止。 然后再做归纳总结,对于你新学的这个东西你已经有了一个

大概的了解,切记不要把自己的想法强加给代码的释义上(你没有资格这样做,你的理解跟作者不管如何也会差的很远,何况是接触一个半生

不熟的东西,很多自以为是的人,看完一遍后会形成很强大的自我认知,这种认知别人还说服不了你,但是那种还很多时候是错的,中国人喜欢

眼见为实,自己确实看到了,只是自己理解到位不了)。

        慢慢整理2-4周,会有一部分很全面的了解,当然你足够努力,或者天赋非凡,一天也可能够了。。。。接下来说第二个问题,新人在看代码

的时候会发现作者很多莫名其妙的函数,莫名其妙的变量名,经常会去思考作者为啥会去起那样的名字。其实很多时候作者起名字是很随意的,除非

非常正规的公司。当看到理解不了的变量的时候,请将其看为变量A,然后去理解上下文来看A的含义及起的作用。问题不供而破。

        接下来说第三个问题,做驱动的经常会看代码,而不去写代码,这点很要命,很多人会不敢写,不会写,其实闲暇要发挥想象力,想想一些特殊的

点子放到你所看的代码。无所畏惧,方能成事,当年自己经手写出代码来了,哪怕它啰嗦,丑陋,但是只要能运行,你就是不小的进步,很快你就在自己

努力的积累下,独挡一面。

     

        

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值