c++做底层开发

来源:互联网 发布:生鲜电商软件 编辑:程序博客网 时间:2024/05/17 07:08
呵呵,看楼主这么有志气,看来后继有人了,偶从底层转出了一段时间了,现从事JAVA,不过还是很怀念当年用汇编和C操纵底层硬件的,一切尽在掌握中的感觉---爽啊,现在的JAVA代码写得偶都要睡着了...。 v? i`ZgbP 在这里给楼主点建议: 1B]V;q)z+n,{+K 1.关于c++:对于底层来说c++基本可有可无,主要还是C,不过OO的思想还是每个CODER的基本功,还是得了解了解滴,偶个人不推荐学C++去了解OO,c#和java才是面向对象的典范语言。 BG4G0mB3C4g!~0oW%b!n.Ek P$F o 2.关于C:楼主要搞底层的话,光看看老谭的入门C是没有用的,C必须相当的精通,要精通的什么程度呢,举个2例子说吧:楼主知道C怎么处理浮点数变量赋值为0的细节吗,知道怎样不写main函数而生成可执行的C程序吗?如果你能不查资料一下子说出了答案来,那你的C才算过关。 I5P;Rgkp["h6w4d nh_{TkHR;X3.关于汇编:8086下的汇编只是入门而已,必修罗云彬的《win32汇编》(具体名字我忘了,可以到他的网站上看看,他的书都是底层开发的圣经),一定要在大学期间把这本书吃透。 %V{+mj#O^-C*m9ddWf1k#G aI;F$Qo)V([%zE4.关于逆向:也就是所谓的破解,有兴趣就搞搞,不是十分推荐。因为绝大多数破解的软件的汇编代码非常以读懂,当然了如果你破解水平高的话也能搞出非常经典的代码出来。我有段时间也凑过逆向的热闹,可能因为水平原因反编译出来的代码可读性非常差。 )Qh+e0AN,|+~ `Q qO'W0/L#^ 5.底层的的分类是比较多的,主要有嵌入式开发,开源操作系统内核编写,BIOS开发(中国会这个的没有几个),驱动开发,病毒编写(也算是吧),主要是驱动开发和嵌入式开发为主。对于嵌入式:起码掌握一个实时操作系统,我当年做的时候是UC-OS/2火爆(3,4年前,因为免费),现在不知道是什么了最盛行,VxWorks这类高级的等楼主工作才有条件接触。对于驱动的话,硬件电路一定要过关,最起码能熟练的分析电路时序图,而且得知道WIN底层细节如ring0,Linux内核,VxD一定要懂,can总线,USB,1394火线等接口一定要会,当然了接口根据工作的情况而定啦,但最起码要会USB吧。 p"qs m,Mf,a .Q6~J lv[;G*Z3U/ 6.要学底层开发是件痛苦的事情,如过搞驱动的话(本人的老本行),起码要准备精通硬件和软件的两个方面,不容易啊,要学的东西太多了,最最关键要奈得住寂寞,还要忍受许许多多光离陆怪的BUG的考验和无数次死机的打击。学嵌入式,得破点费买点学习工具。 #R9x P`,Vo7L0qE,u;DK)/*cf$? T 呵呵,最后,祝楼主学习一帆风顺!
原创粉丝点击