農(nóng)媛彥
(柳州市技工學(xué)校,柳州 545004)
Linux系統(tǒng)不僅是一種自由開放的源碼系統(tǒng),同時(shí)也能在免費(fèi)的使用和傳播的Unix系統(tǒng)上操作,集成了Unix系統(tǒng)的網(wǎng)絡(luò)核心思想,更具有穩(wěn)定性的支持多用戶操作。因此,通過對計(jì)算機(jī)C語言編程的分析,以拋磚引玉的方式促進(jìn)Linux系統(tǒng)下的計(jì)算機(jī)C語言編程技巧的發(fā)展[1]。
C語言是一種結(jié)構(gòu)語言,它的出現(xiàn)主要是為加強(qiáng)人與計(jì)算機(jī)的“對話”。C語言能夠貼近人類的思維,以語言的方式表達(dá)機(jī)構(gòu)和設(shè)計(jì)軟件的特點(diǎn)。它的層次鮮明、清晰,作為計(jì)算機(jī)的一種高級(jí)語言能夠有效的進(jìn)行匯編和實(shí)際工作[2]。
(1)優(yōu)勢。首先,C語言靈活多變且方便。主要有32個(gè)關(guān)鍵字和9種控制語言,因此,書寫形式非常自由,以小寫的英文字母書寫為主。其次,數(shù)據(jù)結(jié)構(gòu)較為豐富。C語言是要分為字符型、整形、實(shí)形等幾種形式,在上述靈活性的數(shù)據(jù)形式搭配下實(shí)現(xiàn)復(fù)雜的結(jié)構(gòu)數(shù)據(jù)運(yùn)算。最后,運(yùn)算符豐富。C語言主要由24個(gè)運(yùn)算符號(hào)組成,因此包好的范圍較廣,能夠通過賦值、等方式對運(yùn)算符進(jìn)行使用,使得運(yùn)算符能夠適應(yīng)各種形式的表達(dá)。
(2)劣勢。C語言的劣勢主要體現(xiàn)在兩個(gè)方面:一方面是C語言數(shù)據(jù)的安全問題,很難得到保障。另一方面就是在C語言中沒有較強(qiáng)的語法限制和變量類型的要求,對于數(shù)據(jù)下標(biāo)的使用沒有任何檢查措施。因此這兩種劣勢就導(dǎo)致C語言相較于其他計(jì)算機(jī)高級(jí)語言更難應(yīng)用
(3)意義。隨著計(jì)算機(jī)的發(fā)展,C語言也在不斷的發(fā)生變化。通過對C語言的研究,專門定制了一套C語言的應(yīng)用標(biāo)準(zhǔn),解決了C語言的通用障礙。C語言憑借這自身強(qiáng)大的功能,不僅能夠進(jìn)行系統(tǒng)軟件的編寫,還能夠進(jìn)行應(yīng)用軟件的編寫。就目前的發(fā)展形式而言,已經(jīng)在各行各業(yè)得到應(yīng)用,使工作變得快捷、高效、簡單。
對于C語言的學(xué)習(xí)不僅需要大量的理論知識(shí),還需要學(xué)習(xí)者消耗大量的體力,通過不斷的重復(fù)訓(xùn)練,來熟練整個(gè)C語言的運(yùn)用流程。一般來說,C語言主程序的運(yùn)行流程圖如圖1所示。在編寫程序的時(shí)候,很難發(fā)現(xiàn)其中的bug,只有經(jīng)過計(jì)算機(jī)的電子檢驗(yàn)才能夠保障程序是否能夠有效的運(yùn)行,為了進(jìn)一步提升C語言的運(yùn)用能力,本文提出了以下幾點(diǎn)編程技巧。
在學(xué)習(xí)C語言理論知識(shí)的時(shí)候,通常都是通過示例的演示來展示新知識(shí)的內(nèi)容,我們的學(xué)習(xí)也是以通過模仿示例的邏輯分析方式,來理解知識(shí)。運(yùn)用這樣的方式主要就是將難以理解的C語言理論知識(shí)與實(shí)際示例相結(jié)合,能夠是學(xué)習(xí)者快速理解。因此,在實(shí)際程序的編寫中,就要先了解各個(gè)數(shù)據(jù)結(jié)構(gòu)的第一個(gè)算法的源程序,為整個(gè)數(shù)據(jù)結(jié)構(gòu)的編寫打下基礎(chǔ),然后通過之前對示例的模仿邏輯分析,形成自己能夠編寫的邏輯思路。這樣在遇到類似程序編寫的時(shí)候也能夠保障快速上手。
圖1 C語言主程序的運(yùn)行流程圖
GCC編譯器是一種支持多種編程語言的編輯器,能夠抑制在對中硬件平臺(tái)中能夠。Linux系統(tǒng)下是GCC編譯器應(yīng)用中的基礎(chǔ)。
在編輯中就GCC編譯器的選擇主要分為三種:(1)-g,主要就是指在GCC編譯器編譯的時(shí)候,需要提供編譯信息,以方便對程序的調(diào)試;(2)-o,輸出可執(zhí)行的文件名;(3)-c輸出目標(biāo)代碼。這三種選項(xiàng),無論是哪一種都能保障簡單源程序的編譯,但是在進(jìn)行復(fù)雜源程序的編譯時(shí),就要進(jìn)行更多的選擇。例如。
現(xiàn)有的源程序?yàn)?test.c:
#nelude
Intrnain()
{Printf(“Hello,this is a test! ”);
Return o;}
Make fi le能夠制定一些規(guī)則,例如,眾多文件中,要求哪一個(gè)文件進(jìn)行翻譯、哪些文件需要重新翻譯、哪些文件需要延后翻譯等,主要就是針對較為復(fù)雜的系統(tǒng)功能進(jìn)行執(zhí)行系統(tǒng)的操控。使用Make fi le能夠?qū)崿F(xiàn)自動(dòng)化翻譯,只要編寫好,輸入make的命令,就能夠?qū)帉懴到y(tǒng)進(jìn)行自動(dòng)翻譯,極大程度的提高軟件開發(fā)的效率。但是在編寫中,尤其是針對上百個(gè)源程序的時(shí)候,在執(zhí)行前需要編寫Make fi le文件,在編寫中要注重以下幾種技巧:(1)Make fi le文件的格式通常為components:taeget:TABrule。前面表示依賴關(guān)系,后面表示規(guī)則。(2)在Make fi le編寫中有3個(gè)變量,分為:$、$@、$<。其中$表示所有依賴文件、$@表示目標(biāo)文件;$<第一個(gè)依賴文件。通過對這三個(gè)變量的闡述分析,能夠有效的對Make fi le文件進(jìn)行簡化[3]。例如。
Main.o:main.c mytooll.h mytoo12.h 能夠通過簡化變?yōu)椋篻cc-c$<.
(3)建立一個(gè)缺省規(guī)則,以上述例子為例,就是:.c.o:gcc-c$<,在這個(gè)規(guī)則下對應(yīng)的所有文件都是.0與.c相互依賴的。因此,最終的轉(zhuǎn)化應(yīng)該為:
Main.o:main.c mytooll.h mytoo12.o gcc-c$@$.c.o:gcc-c$<.
Linux系統(tǒng)下的計(jì)算機(jī)C語言編程技巧分析在優(yōu)化計(jì)算機(jī)C語言編程技巧上、提高Linux系統(tǒng)的運(yùn)用能力上有著積極的作用。在此過程中,重視示例程序、使用GCC編譯器譯源程序、掌握編寫Make fi le技巧等技巧,能夠不斷的促進(jìn)我國計(jì)算機(jī)技術(shù)水平的提升。