掌握Linux編程的10個步驟

來源:互聯網
上載者:User

做linux c語言開發有一小陣子了,在這邊自己總結了些心得,相信能讓不懂得Linux編程的人慢慢步入Linux殿堂。有任何不對或不準確之處歡迎討論。

1. 安裝 linux 作業系統

既然要學習linux下的c語言開發,那麼安裝個linux作業系統是必須的。建議安裝Ubuntu,這是我目前見過介面最友好的linux作業系統了。關於如何使用Ubuntu以及在其上作開發,可參考我的另外一篇敝作《Ubuntu使用心得》:http://download.csdn.net/source/2206289

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

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

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

3. 學會一種源碼編輯器

很多大牛推薦使用 vim/emacs之類的工具,但我還是用著不習慣,應該是我能力未到。我個人比較喜歡的開發方式是:在windows下編輯代碼,在linux下編譯。

我自己非常喜歡用SourceInsight來編輯代碼,這個工具的使用可參考我blog上一篇文章《Source Insight的應用技巧、宏功能》:http://blog.csdn.net/sikinzen/archive/2010/04/09/5468511.aspx

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》、《演算法導論》

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

 

後記:

通過上面幾個步驟,我想成為一個稱職的linux程式員是沒問題了。但如果要成為專家的話,我自己覺得還應該為自己選好方向並努力前進。

讓我們一塊努力!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.