|
发表于 2005-5-19 10:40:15
|
显示全部楼层
Post by rickxbx
为什么用c?
显然,因为她的效率高,能更好的使用系统提供的各种功能.
但是,往往这又会带来很多其它的问题,比如,对于编译器,连接器等的理解.甚至对操作系统的理解.
有些问题在不明白为什么的时候确实很痛苦.
在这方面,斑竹kj是大家学习的榜样,kj是否时常向版友们介绍介绍自己的学习情况.
就我这水平,要当大家学习的榜样,实在是惭不敢当!
实际上编程中碰到的问题,特别是“对于编译器,连接器等的理解.甚至对操作系统的理解“等问题并不是什么C语言的问题,而是一个对计算机系统的理解和认识问题。要想将自己在这方面的修养提升到一个比较高的层次,是需要长期努力的。
结合本人的学习经验,如果初学者确实有兴趣在这方面深入的话,建议按下列顺序循序渐进地学习:
1.先找本计算机组成方面的书看看。深度不一定要很深,但关键是概念一定要讲清楚。我读过《结构化计算机组成》,感觉不错。
2.学习汇编。特别是在linux下学习AT&T格式的汇编。这是促进你对计算机体系结构的认识的最好方法。推荐置顶的论坛索引中给出的《Programming from the Ground Up》。
3.熟悉Linux系统。最好是去做LFS。
4.学习C语言和基础数据结构知识。这几本书必看《C程序设计语言》,《C专家编程》,《C 陷阱与缺限》。数据结构推荐《C算法》系列。
5.进一步深入理解计算机系统。最好的书就是《深入理解计算机系统》,我花了半年时间基本看完,水平大涨。
6.学习操作系统和编译原理。找这方面的经典看看就行了。
只要打下了坚实的基础,以后想做什么,只要找这方面的专业书看看就行了。 |
|