linux編程指導

 

1. 安裝 linux 操作系統

2. 熟悉 linux 操作系統下的命令

Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盤操作、文件存取、目錄操作、進程管理、文件權限設定等。所以,在Linux系統上工作離不開使用系統提供的命令。要想真正理解Linux系統,就必須從Linux命令學起,通過基礎的命令學習可以進一步理解Linux系統。

關於linux下的命令,歡迎參考我blog上一篇文章《Linux命令整理》:http://blog.csdn.net/sikinzen/archive/2010/04/19/5503769.aspx

3. 學會一種源碼編輯器

很多大牛推薦使用 vim/emacs之類的工具。。。

4. 掌握gcc和gdb

掌握gcc的基本用法,並且會用gdb來調試程序。

5. 用好 C 語言

工作中發現:C語言大家都會,但核心思想就不一定都能理會。我自己覺得也只是摸到了門徑,還需要實踐鍛鍊。

推薦:《C陷阱與缺陷》、《C專家編程》、《C程序設計語言》。

6. 學會寫makefile,以及用它來組織源碼

當項目大了後,用命令行逐個逐個編譯、link文件的工作量是非常恐怖的,這時候make就起作用,即使是很小的項目,我認爲也應該採用make組織。

關於makefile,請參考網上文章《跟我一起寫Makefile》或《GNU make中文手冊》。這兩篇文章都相當得好。

7. Linux應用編程

終於說到正題了,呵呵。

Linux上的應用編程基本上兩本書就搞定了:《APUE》和《UNP》,前者鍛鍊基本功,後者學習網絡編程。

這邊我直接引用網上某位先生的評論:

如果想學習UNIX/LINUX的編程,《APUE》絕對經典的教材,加深一下功底,學習《UNP》的第二卷。這樣基本上系統方面的就可以掌握了。 然後再看Douglus E. Comer的《用TCP/IP進行網際互連》第一卷,學習一下網絡的知識,再看《UNP》的第一卷,不僅學習網絡編程,而且對系統編程的一些常用的技巧就很熟悉了,如果繼續網絡編程,建議看《TCP/IP進行網際互連》的第三卷,裏面有很多關於應用協議telnet、ftp等協議的編程。

8. Linux驅動與內核編程 驅動程序的門檻較高,首先你要學會Linux應用編程,至少看過《APUE》。

驅動編程的主要工作我認爲至少有兩點:理解linux內核框架和模塊的概念、懂得看芯片datasheet。

第一點其實就是先學會編寫一個測試驅動程序。

推薦經典教材:《linux設備驅動程序》。

另外,還有 《深入理解Linux內核》。

最重要的是:手頭要有一塊嵌入式板子進行實踐。

9. 掌握一種 cvs 工具

如果不懂cvs的話,趕緊到 baidu 搜索下。不用cvs的項目很容易面臨代碼丟失的問題,且不易做bug迴歸。

10. 數據結構和算法

上過計算機基礎課的人都知道:程序=數據結構+算法。這兩項纔是程序員的根本,如同武俠小說中的“內功”。  有時間的話建議重溫這兩部分。推薦書籍:《Algorithms in C》、《算法導論》

呵呵,其實這一小塊我沒有發言權,我自己是從自動化專業轉行來寫程序的,數據結構和算法都沒學過,目前正在自學惡補中。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章