GNU/Linux開發第一步(轉)
GNU/Linux開發第一步(轉)[@more@]目前,很多朋友學完了C語言,但並不能在GNU/Linux系統下進行程式設計開發。究其原因,GNU/Linux系統還未大面積普及是大礙之一,另外,人們不熟悉GNU/Linux系統下的開發工具也是關鍵。本文就是以“用例”的形式講述在GNU/Linux系統下如何進行應用軟體開發的基礎和常識,為將來在GNU/Linux系統中進行大規模或企業級開發鋪路。所謂“用例”,就是透過簡單的例子來學習,最終達到能在自己的實際中應用的目的。
本文要求讀者熟練Linux作業系統的常用操作,掌握C語言語法,能理解Linux系統的組成原理和了解Shell和Perl等指令碼語言。
平臺選擇
首先,從事GNU/Linux(以下簡你Linux)系統下的應用開發,應該有一個合適的操作平臺和開發環境,所以選擇和安裝Linux作業系統成為Linux開發者的第一課。目前可供選擇的Linux作業系統種類很多,如Red Hat(最新版名為Fedora)、SuSE、Mandrake和中科紅旗(Red Flag),還有開源組織中有名的Debian等。雖然版本很多,但它們在底層系統組成上的差別是微乎其微的。我們以Red Hat 9.0為開發平臺,以後的操作和開發都在這一系統平臺上進行。
Linux作業系統核心底層的開發工具和輔助工具,有的是直接建立在核心基礎上,如Shell、GCC和Make等;有的是建立在指令碼語言的基礎之上的,如Automake、Autoconf和Libtool等。它們是Linux作業系統外層的圖形介面開發工具(GTK+、QT等)和網路應用開發工具(Perl、PHP和Python等)的基礎和過渡。掌握了底層開發工具,對外層應用開發是有好處的,這樣可以加快和最佳化外層應用開發,從而達到開發速度和開發質量的和諧統一。
慎選IDE
本文講述的程式編輯工作多數是用Linux系統中常用的Emacs和vi來做,在終端視窗中進行命令編譯除錯。熟悉Windows下程式設計的朋友們會質疑為什麼不用IDE(整合開發環境),是Linux下沒有嗎?答案當然是否定的。Linux下有很多IDE,事實上Emacs就是一個非常好的IDE,其它的還有CodeForge、ANJUTA和Kdeveloper等。對程式設計人員來說,IDE在編譯控制的底層隱藏了很多東西,如果軟體開發者真正瞭解和掌握了這些東西,對開發出更好的應用程式是大有幫助的。
對於IDE可以這麼比喻,它好象是飛機上的自動駕駛儀,有了它飛行員會輕鬆許多,但如果飛行員沒有真正掌握飛機的駕駛技術,在飛行中如果自動駕駛儀失靈的話,墜機是必然的,這樣的飛行員是不能讓他駕機的。程式設計人員也如此,只用IDE開發軟體是不夠的。
開始動手
坐談論道不如起而躬行。下面就從一個簡單的C語言原始檔的編譯開始,研究這些內容。
首先是安排好目錄。在自己的使用者目錄下,建立一個總的目錄learn-gnu,然後在此目錄下建立第一個學習目錄learn-1,在此目錄下用Emacs編輯hello.c檔案,輸入如下內容:
本文要求讀者熟練Linux作業系統的常用操作,掌握C語言語法,能理解Linux系統的組成原理和了解Shell和Perl等指令碼語言。
平臺選擇
首先,從事GNU/Linux(以下簡你Linux)系統下的應用開發,應該有一個合適的操作平臺和開發環境,所以選擇和安裝Linux作業系統成為Linux開發者的第一課。目前可供選擇的Linux作業系統種類很多,如Red Hat(最新版名為Fedora)、SuSE、Mandrake和中科紅旗(Red Flag),還有開源組織中有名的Debian等。雖然版本很多,但它們在底層系統組成上的差別是微乎其微的。我們以Red Hat 9.0為開發平臺,以後的操作和開發都在這一系統平臺上進行。
Linux作業系統核心底層的開發工具和輔助工具,有的是直接建立在核心基礎上,如Shell、GCC和Make等;有的是建立在指令碼語言的基礎之上的,如Automake、Autoconf和Libtool等。它們是Linux作業系統外層的圖形介面開發工具(GTK+、QT等)和網路應用開發工具(Perl、PHP和Python等)的基礎和過渡。掌握了底層開發工具,對外層應用開發是有好處的,這樣可以加快和最佳化外層應用開發,從而達到開發速度和開發質量的和諧統一。
慎選IDE
本文講述的程式編輯工作多數是用Linux系統中常用的Emacs和vi來做,在終端視窗中進行命令編譯除錯。熟悉Windows下程式設計的朋友們會質疑為什麼不用IDE(整合開發環境),是Linux下沒有嗎?答案當然是否定的。Linux下有很多IDE,事實上Emacs就是一個非常好的IDE,其它的還有CodeForge、ANJUTA和Kdeveloper等。對程式設計人員來說,IDE在編譯控制的底層隱藏了很多東西,如果軟體開發者真正瞭解和掌握了這些東西,對開發出更好的應用程式是大有幫助的。
對於IDE可以這麼比喻,它好象是飛機上的自動駕駛儀,有了它飛行員會輕鬆許多,但如果飛行員沒有真正掌握飛機的駕駛技術,在飛行中如果自動駕駛儀失靈的話,墜機是必然的,這樣的飛行員是不能讓他駕機的。程式設計人員也如此,只用IDE開發軟體是不夠的。
開始動手
坐談論道不如起而躬行。下面就從一個簡單的C語言原始檔的編譯開始,研究這些內容。
首先是安排好目錄。在自己的使用者目錄下,建立一個總的目錄learn-gnu,然後在此目錄下建立第一個學習目錄learn-1,在此目錄下用Emacs編輯hello.c檔案,輸入如下內容:
QUOTE:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-946718/,如需轉載,請註明出處,否則將追究法律責任。
上一篇:
BSD 簡史(轉)
下一篇:
Chinput 安裝指南(轉)
請登入後發表評論
登入
全部評論
|
相關文章
- GNU 和 Linux(轉)Linux
- GNU與LinuxLinux
- Debian GNU/Linux拋棄Firefox?(轉)LinuxFirefox
- GNU make 指南(轉)
- GNU/linux的C函式庫介紹(轉)Linux函式
- Linux 核心使用的 GNU C 擴充套件(轉)Linux套件
- 【GNU/Linux實戰手記之Emacs篇 上】 (轉)LinuxMac
- GNU/Linux實戰手記之基本操作篇 (轉)Linux
- 【GNU/Linux實戰手記之安裝配置篇】 (轉)Linux
- 有關於Linux系統資料--解釋GNU(轉)Linux
- 完全用GNU/Linux工作,擯棄Windows---你我共勉 (轉)LinuxWindows
- 安卓開發第一步:安卓面試題安卓面試題
- Jedit for Linux 開發版(轉)Linux
- 如何在 Linux 上使用 GNU sedLinux
- GNU/Linux和FreeBSD上的NAT閘道器安裝(轉)Linux
- GNU Guix 將終止對 Linux 核心的支援,全面替換為 GNU HurdGUILinux
- GNU 專案之父:蘋果把 Mac 變“監獄”|Ubuntu 並非免費 GNU/Linux 發行版不建議用蘋果MacUbuntuLinux
- GNU make安裝注意事項(轉)
- GNU/Linux實戰手記之Emacs篇 中--Bash程式設計 (轉)LinuxMac程式設計
- 細說GNU/Linux系統的檔案及檔案系統(轉)Linux
- GNU/Linux安全基線與加固-0.1Linux
- KNOPPIX 7.4.1 釋出,GNU/Linux 系統Linux
- 我為什麼討厭GNU/Linux?Linux
- [Jenkins]開發jenkins外掛第一步Jenkins
- 世紀大爭論:Linux還是GNU/Linux?Linux
- 一週開源新聞:Debian GNU/Linux 9 "Stretch" 將於 2017 年初發布Linux
- Oracle應用Linux開發C(轉)OracleLinux
- Linux下的軟體開發(轉)Linux
- GNU/Linux實戰手記之Emacs篇 下——Emacs是個IDE (轉)LinuxMacIDE
- Linux下應用程式開發:QT開發簡介(轉)LinuxQT
- GnuPG-GNU的PGP使用指南(轉)
- GNU C 規則表示式入門(轉)
- linux系統效能調優第一步——效能分析(vmstat) (轉載)Linux
- Oracle在Linux下的C開發(轉)OracleLinux
- Borland推出全新Linux開發工具Kylix (轉)Linux
- Novell提升Linux合作開發標準(轉)Linux
- 開發 Linux 命令列實用程式(轉)Linux命令列
- LDN: Linux 開發人員的MSDN(轉)Linux