linux編程基礎(chǔ)05960

linux編程基礎(chǔ)05960

ID:24280901

大?。?.50 MB

頁(yè)數(shù):58頁(yè)

時(shí)間:2018-11-13

linux編程基礎(chǔ)05960_第1頁(yè)
linux編程基礎(chǔ)05960_第2頁(yè)
linux編程基礎(chǔ)05960_第3頁(yè)
linux編程基礎(chǔ)05960_第4頁(yè)
linux編程基礎(chǔ)05960_第5頁(yè)
資源描述:

《linux編程基礎(chǔ)05960》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)

1、北京郵電大學(xué)電子工程學(xué)院滿(mǎn)毅北京郵電大學(xué)嵌入式系統(tǒng)設(shè)計(jì)嵌入式系統(tǒng)集成開(kāi)發(fā)LINUX編程基礎(chǔ)LINUX程序設(shè)計(jì)基礎(chǔ)本章學(xué)習(xí)目標(biāo)通過(guò)對(duì)本章的學(xué)習(xí),讀者應(yīng)該掌握以下主要內(nèi)容:?Linux編程風(fēng)格?Linux下使用GNUcc開(kāi)發(fā)應(yīng)用程序?Linux程序的調(diào)試1.概述1.1Linux編程Linux軟件開(kāi)發(fā)一直在Internet環(huán)境下講行。這個(gè)環(huán)境是全球性的,編程人員來(lái)自世界各地。只要能夠訪問(wèn)Web站點(diǎn),就可以啟動(dòng)一個(gè)以Linux為基礎(chǔ)的軟件項(xiàng)目。Linux開(kāi)發(fā)工作經(jīng)常是在Linux用戶(hù)決定共同完成一個(gè)項(xiàng)目時(shí)開(kāi)始的。當(dāng)開(kāi)發(fā)工作完成后,該軟件就被放到Internet站點(diǎn)上

2、,任何用戶(hù)都可以訪問(wèn)和下載它。由于這個(gè)活躍的開(kāi)發(fā)環(huán)境,新的以Linux為基礎(chǔ)的軟件功能日益強(qiáng)大,而且呈現(xiàn)爆炸式的增長(zhǎng)態(tài)勢(shì)。大多數(shù)Linux軟件是經(jīng)過(guò)自由軟件基金會(huì)(FreeSoftwareFoundation)提供的GNU(GNU即GNU’snotUNIX)公開(kāi)認(rèn)證授權(quán)的,因而通常被稱(chēng)作GNU軟件。GNU軟件免費(fèi)提供給用戶(hù)使用,并被證明是非??煽亢透咝У?。許多流行的Linux實(shí)用程序如C編譯器、shell和編輯器都是GNU軟件應(yīng)用程序。Linux程序需要首先轉(zhuǎn)化為低級(jí)機(jī)器語(yǔ)言即所謂的二進(jìn)制代碼以后,才能被操作系統(tǒng)執(zhí)行。例如編程時(shí),先用普通的編程語(yǔ)言生成一系列

3、指令,這些指令可被翻譯為適當(dāng)?shù)目蓤?zhí)行應(yīng)用程序的二進(jìn)制代碼。這個(gè)翻譯過(guò)程可由解釋器一步步來(lái)完成,或者也可以立即由編譯器明確地完成。shell編程語(yǔ)言如BASH、TCSH、GAWK、Perl、Tcl和Tk都利用自己的解釋器。用這些語(yǔ)言編制的程序盡管是應(yīng)用程序文件,但可以直接運(yùn)行。編譯器則不同,它將生成一個(gè)獨(dú)立的二進(jìn)制代碼文件然后才可以運(yùn)行。1.GNU風(fēng)格(1)函數(shù)返回類(lèi)型說(shuō)明和函數(shù)名分兩行放置,函數(shù)起始字符和函數(shù)開(kāi)頭左花括號(hào)放到最左邊。(2)盡量不要讓兩個(gè)不同優(yōu)先級(jí)的操作符出現(xiàn)在相同的對(duì)齊方式中,應(yīng)該附加額外的括號(hào)使得代碼縮進(jìn)可以表示出嵌套。(3)按照規(guī)定方式排

4、版do-while語(yǔ)句:(4)每個(gè)程序都應(yīng)該以一段簡(jiǎn)短的說(shuō)明其功能的注釋開(kāi)頭。(5)請(qǐng)為每個(gè)函數(shù)書(shū)寫(xiě)注釋?zhuān)f(shuō)明函數(shù)是做什么的,需要哪些入口參數(shù),參數(shù)可能值的含義和用途。如果用了非常見(jiàn)的、非標(biāo)準(zhǔn)的東西,或者可能導(dǎo)致函數(shù)不能工作的任何可能的值,應(yīng)該進(jìn)行特殊說(shuō)明。如果存在重要的返回值,也需要說(shuō)明。(6)不要聲明多個(gè)變量時(shí)跨行,每一行都以一個(gè)新的聲明開(kāi)頭。(7)當(dāng)一個(gè)if中嵌套了另一個(gè)if-else時(shí),應(yīng)用花括號(hào)把if-else括起來(lái)。(8)要在同一個(gè)聲明中同時(shí)說(shuō)明結(jié)構(gòu)標(biāo)識(shí)和變量或者結(jié)構(gòu)標(biāo)識(shí)和類(lèi)型定義(typedef)。先定義變量,再使用。(9)盡量避免在if的條件

5、中進(jìn)行賦值。(10)請(qǐng)?jiān)诿种惺褂孟聞澗€以分割單詞,盡量使用小寫(xiě);把大寫(xiě)字母留給宏和枚舉常量,以及根據(jù)統(tǒng)一慣例使用的前綴。例如,應(yīng)該使用類(lèi)似ignore_space_change_flag的名字;不要使用類(lèi)似iCantReadThis的名字。2.Linux內(nèi)核編程風(fēng)格(1)Linux內(nèi)核縮進(jìn)風(fēng)格是8個(gè)字符。(2)Linux內(nèi)核風(fēng)格采用K&R標(biāo)準(zhǔn),將開(kāi)始的大括號(hào)放在一行的最后,而將結(jié)束的大括號(hào)放在一行的第一位。(3)命名盡量簡(jiǎn)潔。不應(yīng)該使用諸如ThisVariableIsATemporaryCounter之類(lèi)的名字。應(yīng)該命名為tmp,這樣容易書(shū)寫(xiě),也不難理解。

6、但是命名全局變量,就應(yīng)該用描述性命名方式,例如應(yīng)該命名“count_active_users()”,而不是“cntusr()”。本地變量應(yīng)該避免過(guò)長(zhǎng)。2.VI的使用vi提供了一些功能強(qiáng)大的但容易記憶的命令供用戶(hù)使用。類(lèi)似這樣的編輯任務(wù)在vi中可以輕松高效完成。編輯命令命令功能[N]x(Expurgate)刪除從光標(biāo)位置開(kāi)始的連續(xù)N個(gè)字符(并復(fù)制到編輯緩沖區(qū))[N]dd(Delete)刪除從光標(biāo)位置開(kāi)始的連續(xù)N行(并復(fù)制到編輯緩沖區(qū))[N]yy(Yank)復(fù)制從光標(biāo)位置開(kāi)始的連續(xù)N行到編輯緩沖區(qū)p(Put)從編輯緩沖區(qū)復(fù)制文本到當(dāng)前光標(biāo)位置(即粘貼)u(Und

7、o)取消上一次操作(即恢復(fù)功能)光標(biāo)命令命令功能h方向鍵,向左移動(dòng)光標(biāo)一個(gè)字符的位置,相當(dāng)于鍵“←”j方向鍵,向下移動(dòng)光標(biāo)到下一行的位置,相當(dāng)于鍵“↓”k方向鍵,向上移動(dòng)光標(biāo)到上一行的位置,相當(dāng)于鍵“↑”l方向鍵,向右移動(dòng)光標(biāo)一個(gè)字符的位置,相當(dāng)于鍵“→”:N移動(dòng)光標(biāo)到第N行(N待定)1G移動(dòng)光標(biāo)到文件的第1行G移動(dòng)光標(biāo)到文件的最后1行:setnumber設(shè)置顯示行號(hào):setnonumber取消顯示行號(hào)文件命令命令功能:q(Quit)退出沒(méi)有被修改的文件(若文件被修改了而沒(méi)有保存,則此命令無(wú)效):q!強(qiáng)制退出,且不保存修改過(guò)的部分:w(Write)保存文件,

8、但不退出:w!強(qiáng)制保存文件,但不退出:x(Exit)

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。