学习Linux程序开发的路线。

来源:百度知道 编辑:UC知道 时间:2024/06/08 12:27:05
小弟今年大二,大一稀里糊涂整了一年ASP和asp.net,在上学期迷茫了大半年之后终于决定以后走linux这条路,无奈学校对liunx很不重视,貌似到大三才有一门Linux的课,而且还是选修。信息比较闭塞,我是软件工程的,当然要走Linux程序设计和内核或是驱动这一块,至于服务那些只想做些了解,不求精通。
开学时整了本《Linux程序设计》,正在看,但是里面的C语言毕竟不是初级的,所以看起来比较慢,又无奈学校到下学期才开操作系统这门课,所以又整了本《鸟哥的Linux私房菜——基础篇》,这个看的比较快,毕竟简单。现在觉得很没有针对性,也没有很明确的方向,所以想问问各位Linux的前辈们一些问题。

1.学习Linux的内核,或是驱动程序开发,再或者嵌入式软件开发,有没有必要好好把汇编语言学一下,毕竟我是软件工程的,不像计算机科学与技术的那个系,硬件东西教的比较多,汇编也是重头。

2.Windows下的图形图像学很牛这个我知道,但想知道Linux下的计算机图形学有没有发展前途。

3.我的意向是Linux程序设计方面,并且偏低层,不出意外我会考研,希望各位Linux的前辈们给出一条学习linux的路线,就是先学什么,后学什么,什么比较有前途等等。大一整了和大二整了一年半网页,才发现走了不少弯路,浪费不少时间。

先万分感谢了。

起步从系统管理走起。建议的书是《linux系统管理技术手册》,虽然你想走底层路线,但我想基本的系统管理知识还是要掌握的。

进阶:熟悉命令模式,会写shell编程,配合系统管理完成一些简单的功能。shell虽然在底层说来没什么太大用处。但掌握这些基础应用还是有必要的。推荐《Linux与unix shell编程指南》。

以上的知识都很简单,属于系统管理的范畴,虽然和你的底层关系并不是很大。但个人认为是必须掌握的基本技巧。下面的就开始有难度了。

首先打好C语言基础,书就太简单了《The programming c language》除了这本我也想不起其它的来了。(个人感觉语言是工具,这本书不用从头到尾看完,我一般拿它当技术手册使用,但后期一些关节的知识点还是要知道,比如说流,进程,socket网络套接字等概念,但这些并不属于语言内容,每门语言都有对应的章节,要理清楚这些概念)。

接下来,一些基础知识要打牢,数据结构,操作系统,最好还带上微机原理(或是计算机组成原理)。没有这些基础,看内核将非常吃力。(相对于驱动来说,你更应该注重微机原理的知识。而我更喜欢网络方向,所以我更侧重于网络,汇编是要学习的,对于驱动来说,不过好在并不是要求很深)。

找本介绍linux内核的书,比如说《linux情景分析》,照着linux源代码慢慢学习,很多地方很难,多看。

到这里,或许你的linux内核看的并不是很懂,但那不要紧。天才会很容易理解,但大部分人不是天才。接下来你就可以开始看linux驱动编程了,书名我忘了。

以上的步骤不是非要一步一步的走。系统管理的知识只是我推荐的,你完全可以选择不看。但基础理论要牢固,所以数据结构,操作系统,微机原理最好打牢。做驱动开发并不要求你非常精通内核(甚至可以不看),但在了解内核后,你写驱动程序将会如虎添翼。最后希望你成功。

linux....程序开发不是只有潜入是arm还有前途吗?
计算机科学于技术....那些人开了课程你以为他们还真学啊?
学习扎实操作系统!!!!!!
学习扎实c/c++!!!
学习扎实数据结构!!
可以看看qt