LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: rickxbx

对C程序员的一点小建议

[复制链接]
发表于 2005-5-19 10:10:44 | 显示全部楼层
linux下普遍用c/cpp作界面吧,什么炮弹杀人,引喻失义
回复 支持 反对

使用道具 举报

发表于 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.学习操作系统和编译原理。找这方面的经典看看就行了。
只要打下了坚实的基础,以后想做什么,只要找这方面的专业书看看就行了。
回复 支持 反对

使用道具 举报

发表于 2005-5-19 11:12:26 | 显示全部楼层
感谢楼主&版主。
另外想知道哪里有a64汇编的资料,进入64位之后汇编应该完全不一样了吧?
回复 支持 反对

使用道具 举报

发表于 2005-5-19 11:25:10 | 显示全部楼层
Post by Tetris
感谢楼主&版主。
另外想知道哪里有a64汇编的资料,进入64位之后汇编应该完全不一样了吧?

Tetris 换个有特色点的头像吧,偶一般是看头像认人,你现在的这个,对我来说不太好分辨。。。。。
回复 支持 反对

使用道具 举报

发表于 2005-5-19 11:27:59 | 显示全部楼层
呵呵,找了好久都没有好看的啊!换个自己的照片又觉得怪怪的。我再找找看。
回复 支持 反对

使用道具 举报

发表于 2005-5-19 12:03:32 | 显示全部楼层
Post by Tetris
感谢楼主&版主。
另外想知道哪里有a64汇编的资料,进入64位之后汇编应该完全不一样了吧?

a65的汇编的资料我没有。至于64位的汇编会不会和32位一样,这个我觉得和体系结构有关。如果要想保持对32位的兼容,那就应该是大体相同的。如果64位是完全抛开32位来另起炉灶,那就有可能完全不一样了。
回复 支持 反对

使用道具 举报

发表于 2005-5-19 12:50:24 | 显示全部楼层
Post by kj501
a65的汇编的资料我没有。至于64位的汇编会不会和32位一样,这个我觉得和体系结构有关。如果要想保持对32位的兼容,那就应该是大体相同的。如果64位是完全抛开32位来另起炉灶,那就有可能完全不一样了。


Linux源代码里有一些a64结构的汇编,完全不一样,比16位和32位的差别还要大。
回复 支持 反对

使用道具 举报

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

斑竹看的这些书有没有ebook?
回复 支持 反对

使用道具 举报

发表于 2005-5-20 09:38:02 | 显示全部楼层
Post by nait
斑竹看的这些书有没有ebook?

有一些是有的,你在网上找找看。
回复 支持 反对

使用道具 举报

发表于 2005-5-20 10:04:39 | 显示全部楼层
Post by Tetris
Linux源代码里有一些a64结构的汇编,完全不一样,比16位和32位的差别还要大。

那你最好参考这个:
http://www.amd.com/us-en/Process ... 52_875_7044,00.html
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表