掌握Linux程式設計的10個步驟

2022-03-25 18:51:01 字數 1550 閱讀 8818

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

1. 安裝 linux 作業系統

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

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

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

3. 學會一種原始碼編輯器

4. 掌握gcc和gdb

掌握gcc的基本用法,並且會用gdb來除錯程式。

5. 用好 c 語言

推薦:《c陷阱與缺陷》、《c專家程式設計》、《c程式語言》。

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

當專案大了後,用命令列逐個逐個編譯、link檔案的工作量是非常恐怖的,這時候make就起作用,即使是很小的專案,我認為也應該採用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核心》。

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

9. 掌握一種 cvs 工具

如果不懂cvs的話,趕緊到 baidu 搜尋下。不用cvs的專案很容易面臨**丟失的問題,且不易做bug回歸。

10. 資料結構和演算法

上過計算機基礎課的人都知道:程式=資料結構+演算法。這兩項才是程式設計師的根本,如同武俠**中的「內功」。  有時間的話建議重溫這兩部分。推薦書籍:《algorithms in c》、《演算法導論》

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

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

讓我們一塊努力!

掌握Linux程式設計的10個步驟

做linux c語言開發有一小陣子了,在這邊自己總結了些心得,相信能讓不懂得linux程式設計的人慢慢步入linux殿堂。有任何不對或不準確之處歡迎討論。1.安裝 linux 作業系統 既然要學習linux下的c語言開發,那麼安裝個linux作業系統是必須的。建議安裝ubuntu,這是我目前見過介面...

掌握Linux程式設計的10個步驟

做linux c語言開發有一小陣子了,在這邊自己總結了些心得,相信能讓不懂得linux程式設計的人慢慢步入linux殿堂。有任何不對或不準確之處歡迎討論。1.安裝 linux 作業系統 既然要學習linux下的c語言開發,那麼安裝個linux作業系統是必須的。建議安裝ubuntu,這是我目前見過介面...

Linux須掌握的10個技術點

1 linux系統基礎,參考書籍,可以看鳥哥linux基礎篇,至少要掌握這書60 內容,沒必須全部掌握.2 網路服務,服務有很多種,每間公司都會用到不同的,但基礎的服務肯定要掌握,如ftp,dns,samba,郵件,這幾個大概學一下就行,lamp和lnmp是必須要熟練,我所指的不是光光會搭建,而是要...