c/c++底层开发建议

在这里给楼主点建议: 

 1.关于c++:对于底层来说c++基本可有可无,主要还是C,不过OO的思想还是每个CODER的基本功,还是得了解了解滴,偶个人不推荐学C++去了解OO,c#和java才是面向对象的典范语言。 BG4G0mB3C4g

2.关于C:楼主要搞底层的话,光看看老谭的入门C是没有用的,C必须相当的精通,要精通的什么程度呢,举个2例子说吧:楼主知道C怎么处理浮点数变量赋值为0的细节吗,知道怎样不写main函数而生成可执行的C程序吗?如果你能不查资料一下子说出了答案来,那你的C才算过关。

X 3.关于汇编:8086下的汇编只是入门而已,必修罗云彬的《win32汇编》(具体名字我忘了,可以到他的网站上看看,他的书都是底层开发的圣经),一定要在大学期间把这本书吃透。 %V{+mj#O^-C*m9ddW f1k#G aI;F$Qo)V([%zE

4.关于逆向:也就是所谓的破解,有兴趣就搞搞,不是十分推荐。因为绝大多数破解的软件的汇编代码非常以读懂,当然了如果你破解水平高的话也能搞出非常经典的代码出来。我有段时间也凑过逆向的热闹,可能因为水平原因反编译出来的代码可读性非常差。 )

 5.底层的的分类是比较多的,主要有嵌入式开发,开源操作系统内核编写,BIOS开发(中国会这个的没有几个),驱动开发,病毒编写(也算是吧),主要是驱动开发和嵌入式开发为主。对于嵌入式:起码掌握一个实时操作系统,我当年做的时候是UC-OS/2火爆(3,4年前,因为免费),现在不知道是什么了最盛行,VxWorks这类高级的等楼主工作才有条件接触。对于驱动的话,硬件电路一定要过关,最起码能熟练的分析电路时序图,而且得知道WIN底层细节如ring0,Linux内核,VxD一定要懂,can总线,USB,1394火线等接口一定要会,当然了接口根据工作的情况而定啦,但最起码要会USB吧。

6.要学底层开发是件痛苦的事情,如过搞驱动的话(本人的老本行),起码要准备精通硬件和软件的两个方面,不容易啊,要学的东西太多了,最最关键要奈得住寂寞,还要忍受许许多多光离陆怪的BUG的考验和无数次死机的打击。学嵌入式,得破点费买点学习工具。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值