![Linux系統(tǒng)管理與應(yīng)用 課件 第十五章 LINUX編程概述_第1頁(yè)](http://file4.renrendoc.com/view12/M03/07/2C/wKhkGWXV1laARV8LAAC1hzJgSfA450.jpg)
![Linux系統(tǒng)管理與應(yīng)用 課件 第十五章 LINUX編程概述_第2頁(yè)](http://file4.renrendoc.com/view12/M03/07/2C/wKhkGWXV1laARV8LAAC1hzJgSfA4502.jpg)
![Linux系統(tǒng)管理與應(yīng)用 課件 第十五章 LINUX編程概述_第3頁(yè)](http://file4.renrendoc.com/view12/M03/07/2C/wKhkGWXV1laARV8LAAC1hzJgSfA4503.jpg)
![Linux系統(tǒng)管理與應(yīng)用 課件 第十五章 LINUX編程概述_第4頁(yè)](http://file4.renrendoc.com/view12/M03/07/2C/wKhkGWXV1laARV8LAAC1hzJgSfA4504.jpg)
![Linux系統(tǒng)管理與應(yīng)用 課件 第十五章 LINUX編程概述_第5頁(yè)](http://file4.renrendoc.com/view12/M03/07/2C/wKhkGWXV1laARV8LAAC1hzJgSfA4505.jpg)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第五章Linux編程概述本章學(xué)習(xí)目標(biāo)⊙ Linux下程序設(shè)計(jì)的特點(diǎn)⊙ Linux下程序設(shè)計(jì)的IDE的使用⊙ Linux的編程風(fēng)格15.1Linux程序設(shè)計(jì)語(yǔ)言概述Linux編程C/C++JavaPythonRubyPerlPHP15.1.1Linux編程Linux的軟件開(kāi)發(fā):一般都基于Internet許多用于Linux的編程工具都源于自由軟件基金會(huì)(FSF)。所有的工具都可以免費(fèi)獲得,并且得到的源代碼可在GNUGPL的指導(dǎo)下自由修改。Linux的程序需要首先轉(zhuǎn)化為低級(jí)機(jī)器語(yǔ)言,才能被操作系統(tǒng)執(zhí)行。15.1.2C/C++C語(yǔ)言:除了匯編語(yǔ)言,最接近機(jī)器的語(yǔ)言各種操作系統(tǒng)的編程接口的默認(rèn)語(yǔ)言都是CC++是C語(yǔ)言的加強(qiáng)版:C++增加了面向?qū)ο蠛推渌杏玫墓δ?,但它的效能并沒(méi)有大減,編程更方便輕松C++與c:C++支持大部分C的程序,大部分的C編譯器也支持C++類(lèi)Unix操作系統(tǒng)中,C具有很好的開(kāi)放源代碼的條件C/C++具有現(xiàn)代語(yǔ)言的大量特征:(1)語(yǔ)句簡(jiǎn)練、結(jié)構(gòu)清晰、緊湊,使用方便、靈活。(2)程序結(jié)構(gòu)簡(jiǎn)單、書(shū)寫(xiě)格式自由。(3)數(shù)據(jù)類(lèi)型豐富、齊全。(4)運(yùn)算符豐富、齊全,運(yùn)算能力強(qiáng)。(5)語(yǔ)法限制不太嚴(yán)格,程序自由度大。(6)具有直接的硬件處理能力。(7)C/C++編譯系統(tǒng)生成的目標(biāo)代碼質(zhì)量高,效率高。(8)程序可移植性強(qiáng)。(9)語(yǔ)言的通用性較強(qiáng)。15.1.3JavaJava語(yǔ)言:是SUN公司的產(chǎn)品,完全的面向?qū)ο蟮木幊陶Z(yǔ)言,不同的計(jì)算機(jī)平臺(tái)上運(yùn)行,適合編寫(xiě)網(wǎng)絡(luò)應(yīng)用程序。廣泛應(yīng)用于企業(yè)、個(gè)人終端、移動(dòng)通信等眾多領(lǐng)域。Java語(yǔ)言的特點(diǎn):(1)簡(jiǎn)單:(2)面向?qū)ο螅?)分布性(4)解釋性(5)健壯性(6)安全性(7)可移植性(8)高性能(9)多線(xiàn)程(10)動(dòng)態(tài)性15.1.4Python一種公共域的,即譯式的,互動(dòng)的,面向?qū)ο蟮膭?dòng)態(tài)編程語(yǔ)言真正的免費(fèi)軟件,關(guān)于軟件的拷貝或者發(fā)布任何用Python開(kāi)發(fā)的應(yīng)用程序沒(méi)有規(guī)則限制可以在包括Linux在內(nèi)的任何操作系統(tǒng)平臺(tái)上運(yùn)行目前使用的最流行的語(yǔ)言之一包含:模組式的操作,異常處理,動(dòng)態(tài)資料形態(tài)十分高層次的動(dòng)態(tài)資料結(jié)構(gòu),以及類(lèi)別的使用簡(jiǎn)單的語(yǔ)法和強(qiáng)大的功能,語(yǔ)法表達(dá)優(yōu)美易讀Python語(yǔ)言的特點(diǎn):(1)開(kāi)源軟件,有許多人為它編寫(xiě)了數(shù)量眾多的模塊和庫(kù),(2)被解釋器包裹的語(yǔ)言,使它可運(yùn)行在大部分的操作系統(tǒng)上。(3)良好的粘合語(yǔ)言,可調(diào)用C和Java編寫(xiě)的庫(kù)。(4)語(yǔ)法單純(5)豐富的內(nèi)置數(shù)據(jù)類(lèi)型(6)功能可以無(wú)限擴(kuò)展,這種擴(kuò)展是通過(guò)導(dǎo)入模塊來(lái)完成的(7)可移植度高15.1.5Ruby一種解釋型的方便快捷的面向?qū)ο竽_本語(yǔ)言適合文本文件處理和系統(tǒng)管理,并且完全面向?qū)ο?。語(yǔ)法簡(jiǎn)單明快,可擴(kuò)展并且可跨平臺(tái)。完全自由開(kāi)放原則:簡(jiǎn)單化的“最少驚喜”,Java的多線(xiàn)程和安全控制的功能,Tcl的容易擴(kuò)展的功能,PHP的嵌入功能和強(qiáng)大客戶(hù)端的功能,最方便的Shell命令的調(diào)用。Ruby語(yǔ)言的主要特點(diǎn):1.純的面向?qū)ο笳Z(yǔ)言2.解釋型腳本語(yǔ)言3.其他特點(diǎn):(1)動(dòng)態(tài)載入。(2)自動(dòng)內(nèi)存管理機(jī)制。(3)多精度整數(shù)。(4)迭代器和閉包。(5)開(kāi)源項(xiàng)目。15.1.6Perl
PracticalExtractionandReportLanguageUNIX環(huán)境下編程高級(jí)語(yǔ)言的強(qiáng)大能力和靈活性不需要編譯器和鏈接器來(lái)運(yùn)行代碼Perl的特點(diǎn)特點(diǎn):有強(qiáng)大的字符串模式匹配,最好的文本文件的讀取和生成語(yǔ)言Unix系統(tǒng)管理者的好幫手具有很大的自由性接口:強(qiáng)大的數(shù)據(jù)庫(kù)接口和其它各種接口大量的程序庫(kù)(CPAN)缺點(diǎn):難讀懂,維護(hù)困難,不適合編寫(xiě)大程序,只適合一千行以下的程序15.1.7PHP專(zhuān)門(mén)寫(xiě)網(wǎng)頁(yè)程序的語(yǔ)言,語(yǔ)法和Perl極近可以嵌入HTML,更容易編寫(xiě)服務(wù)器端程序動(dòng)態(tài)生成圖像簡(jiǎn)化了Perl語(yǔ)言?xún)A向于所有的功能都用函數(shù)來(lái)解決以HTML為用戶(hù)界面,充當(dāng)各種服務(wù)器得客戶(hù)端,實(shí)現(xiàn)得是傳統(tǒng)得客戶(hù)端編程得任務(wù)15.2.1KDevelop簡(jiǎn)介基于KDE桌面環(huán)境的全能的開(kāi)發(fā)環(huán)境,如圖1-1集編輯、編譯、調(diào)試等多種功能于一體內(nèi)嵌許多優(yōu)秀的第三方工具軟件用KDevelop開(kāi)發(fā)軟件能自動(dòng)生成configure腳本及Makefile.in文件,無(wú)需編寫(xiě)Makefile發(fā)出的軟件符合國(guó)際化要求,翻譯者可以很容易地將本地語(yǔ)言加入到項(xiàng)目中。網(wǎng)站:http://
15.2Linux集成開(kāi)發(fā)環(huán)境圖15-1
KDevelop界面15.2.2Eclipse簡(jiǎn)介替代IBMVisualAgeforJava(以下簡(jiǎn)稱(chēng)IVJ)的IDE開(kāi)發(fā)環(huán)境,如圖1-2所示通過(guò)開(kāi)發(fā)插件,能擴(kuò)展到任何語(yǔ)言的開(kāi)發(fā),甚至能成為圖片繪制的工具。目前,Eclipse已經(jīng)開(kāi)始提供C/C++開(kāi)發(fā)的功能插件(CDT)Eclipse一個(gè)開(kāi)放源代碼的項(xiàng)目可以通過(guò)開(kāi)發(fā)新的插件擴(kuò)展現(xiàn)有插件的功能無(wú)限擴(kuò)展,而且有著統(tǒng)一的外觀,操作和系統(tǒng)資源管理Eclipse主要特性:方便的對(duì)源文件進(jìn)行導(dǎo)入和導(dǎo)出源代碼的管理更加隨心所欲支持團(tuán)隊(duì)開(kāi)發(fā)支持插件開(kāi)發(fā)網(wǎng)站:http://
圖15-2
Eclipse主界面15.2.3Emacs簡(jiǎn)介GNUEmacs由C語(yǔ)言與LISP語(yǔ)言寫(xiě)成新發(fā)展的函數(shù)可以直接在Emacs中使用,不需重新編譯(complie)整個(gè)Emacs新增的函數(shù)也不會(huì)破壞Emacs原有的結(jié)構(gòu)公布的函數(shù),由FSF的審查,以決定是否要加入新版的Emacs中FSF鼓勵(lì)使用者將所發(fā)現(xiàn)的錯(cuò)誤,透過(guò)相同的管道,提供給FSF作為改進(jìn)之用不僅僅是一個(gè)編輯器,還是一個(gè)整合環(huán)境,或可稱(chēng)它為集成開(kāi)發(fā)環(huán)境,如圖15-3Emacs自行開(kāi)發(fā)“bourne-shell-like”的shell:EShell收發(fā)電子郵件、通過(guò)FTP/TRAMP編輯遠(yuǎn)程檔案、通過(guò)Telnet登錄主機(jī)、上新聞組、登陸IRC和朋友交流、撰寫(xiě)文章大綱、個(gè)人信息管理支持多種編程語(yǔ)言的編輯、調(diào)試程序,結(jié)合GDB,EDebug等。支持C/C++、Perl、Python、Lisp、Java等網(wǎng)站:http:///projects/emacs
圖15-3
GNUEmacs主界面15.3Linux編程風(fēng)格GNU編程風(fēng)格流行于Linux,廣泛應(yīng)用于Linux應(yīng)用軟件的編寫(xiě)(1)函數(shù)的開(kāi)頭的左花括號(hào)放到最左邊,避免把任何其它的左花括號(hào)、左括號(hào)或者左方括號(hào)放到最左邊。 函數(shù)定義:把函數(shù)名的起始字符放到最左邊也同樣重要15.3.1GNU風(fēng)格(2)盡力避免讓兩個(gè)不同優(yōu)先級(jí)的操作符出現(xiàn)在相同的對(duì)齊方式中。
(3)排版do-while語(yǔ)句:
(4)每個(gè)程序都應(yīng)該以一段簡(jiǎn)短地、說(shuō)明其功能的注釋開(kāi)頭。
(5)每個(gè)函數(shù)書(shū)寫(xiě)注釋函數(shù)作用,需要哪些種類(lèi)的參數(shù),參數(shù)可能值的含義以及用途。
如果它使用了任何非標(biāo)準(zhǔn)的東西,或者是可能導(dǎo)致函數(shù)不能工作的任何可能值,請(qǐng)確認(rèn)對(duì)它們進(jìn)行了說(shuō)明。
如果存在重要的返回值,也需要對(duì)其進(jìn)行解釋。(6)不要在跨越了行的聲明中聲明多個(gè)變量。在每一行中都以一個(gè)新的聲明開(kāi)頭。
如果它們是全局變量,在它們之中的每一個(gè)之前都應(yīng)該添加一條注釋。
(7)當(dāng)在一個(gè)if語(yǔ)句中嵌套了另一個(gè)if-else語(yǔ)句,總是用花括號(hào)把if-else括起來(lái)。
按照與then那部分代碼相同的縮進(jìn)方式縮進(jìn)elseif的then部分代碼,也可在花括號(hào)中把if嵌套
(8)要在同一個(gè)聲明中同時(shí)說(shuō)明結(jié)構(gòu)標(biāo)識(shí)和變量或者結(jié)構(gòu)標(biāo)試和類(lèi)型定義(typedef)。單獨(dú)地說(shuō)明結(jié)構(gòu)標(biāo)試,而后用它定義變量或者定義類(lèi)型。
(9)盡力避免在if的條件中進(jìn)行賦值。例如,不要寫(xiě):
(10)請(qǐng)?jiān)诿种惺褂孟聞澗€(xiàn)分隔單詞,堅(jiān)持使用小寫(xiě)
把大寫(xiě)字母留給宏和枚舉常量,以及根據(jù)統(tǒng)一的慣例使用的前綴。
(11)用于標(biāo)明一個(gè)命令行選項(xiàng)是否被給出的變量應(yīng)該在選項(xiàng)含義的說(shuō)明之后,而不是選項(xiàng)字符之后,被命名。一條注釋即應(yīng)該說(shuō)明選項(xiàng)的精確含義,還應(yīng)該說(shuō)明選項(xiàng)的字母。
15.3.1Linux內(nèi)核風(fēng)格
K&R的標(biāo)準(zhǔn):Linux內(nèi)核的編程風(fēng)格。(1)縮進(jìn)格式是8個(gè)字符,使得程序易讀,能在你將程序變得嵌套層數(shù)太多的時(shí)候給警告(2)開(kāi)始的大括號(hào)放在一行的最后,結(jié)束大括號(hào)放在一行的第一位,
(3)C是一種簡(jiǎn)潔的語(yǔ)言,命名也簡(jiǎn)潔
當(dāng)混合類(lèi)型的名字不得不出現(xiàn)的時(shí)候,描述性名字對(duì)全局變量來(lái)說(shuō)是必要的了。
(4)函數(shù)應(yīng)該短小而精悍
(5)注釋是一件很好的事情,但是過(guò)多的注釋也是危險(xiǎn)的
要試圖避免將注釋插在一個(gè)函數(shù)體里15.4課后習(xí)題與實(shí)驗(yàn)15.4.1課后習(xí)題簡(jiǎn)述Linux下軟件開(kāi)發(fā)的特點(diǎn)。為什
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年特種功能焊接材料合作協(xié)議書(shū)
- 2025年P(guān)P改性新材料合作協(xié)議書(shū)
- 2025年玻璃纖維仿形織物合作協(xié)議書(shū)
- 2025年水質(zhì)監(jiān)測(cè)系統(tǒng)合作協(xié)議書(shū)
- 八年級(jí)英語(yǔ)下冊(cè) Unit 3 單元綜合測(cè)試卷(人教版 2025年春)
- 2024-2025學(xué)年河北省石家莊市高新區(qū)四年級(jí)(上)期末數(shù)學(xué)試卷
- 三年級(jí)作文詩(shī)歌:乒乓球賽
- 2025年個(gè)體工商戶(hù)雇傭合同(2篇)
- 2025年人才培訓(xùn)勞動(dòng)合同樣本(2篇)
- 2025年中學(xué)高三年級(jí)下學(xué)期班級(jí)工作總結(jié)(三篇)
- 2025版茅臺(tái)酒出口業(yè)務(wù)代理及銷(xiāo)售合同模板4篇
- 2025年N1叉車(chē)司機(jī)考試試題(附答案)
- 《醫(yī)院財(cái)務(wù)分析報(bào)告》課件
- 2024安全事故案例
- 2024年考研政治試題及答案
- 2024-2025學(xué)年人教版數(shù)學(xué)六年級(jí)上冊(cè) 期末綜合卷(含答案)
- 天津市部分區(qū)2023-2024學(xué)年高二上學(xué)期期末考試 物理 含解析
- 2025年初級(jí)社會(huì)工作者綜合能力全國(guó)考試題庫(kù)(含答案)
- 2024年濰坊護(hù)理職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)附答案
- 《鉗工基本知識(shí)》課件
- 第八期:風(fēng)電典型事故案例剖析(二)
評(píng)論
0/150
提交評(píng)論