笪靜
摘要 在對計算機(jī)軟件進(jìn)行編程的過程當(dāng)中,可以對C語言加以利用實現(xiàn)對程序設(shè)計步驟的簡化,同時讓程序運行結(jié)果更為準(zhǔn)確。此外,將C語言作為基礎(chǔ)的計算機(jī)軟件編程能夠更好的促進(jìn)計算機(jī)軟件更新,從而呈現(xiàn)出更多的應(yīng)用功能和優(yōu)質(zhì)的應(yīng)用效果。本文首先對C語言進(jìn)行了簡單的介紹,繼而探討了計算機(jī)軟件編程當(dāng)中的C語言。
【關(guān)鍵詞】計算機(jī)軟件編程 B語言 C語言 匯編語言
C語言屬于一種新型高級編程語言,能夠完成一些高難度的編程任務(wù),而且屬性和使用方法都比較簡單,不會受到多余條件的限制,使用者能夠在計算機(jī)編程的設(shè)計當(dāng)中對軟件加以靈活運用,繼而結(jié)合編程需求,進(jìn)行自由處理。此外,計算機(jī)軟件編程當(dāng)中的C語言在語法方面的限制也不嚴(yán)格,能夠應(yīng)用在多種操作系統(tǒng)當(dāng)中,具備較好的移植性,所以能夠有效推動信息技術(shù)的發(fā)展。
1 C語言
C語言屬于將B語言作為基礎(chǔ),繼而進(jìn)行完善而逐步發(fā)展而來的。1967年,英國專家首先開發(fā)了BCPL語言,而在1970年,美國將其作為基礎(chǔ),繼而開發(fā)出了B語言。相對來說,B語言功能比較有限,而且語言簡單,已經(jīng)無法滿足于目前對計算機(jī)軟件進(jìn)行編程方面的需求。而將B語言作為基礎(chǔ),各國專家逐漸開始強(qiáng)化對于計算機(jī)編程方面的探索和研究,經(jīng)過了多次試驗之后,最終于1972年,由美國的貝爾實驗室成功研發(fā)并推出了C語言。從1978年開始,各種大中小型的計算機(jī)逐漸對C語言加以移植,使其成為了系統(tǒng)設(shè)計語言,從而給系統(tǒng)程序編寫的相關(guān)工作形成了良好的支持。
在編程語言當(dāng)中,所有計算機(jī)語言都是將C語言作為基礎(chǔ)。其屬于一種高級語言,不僅靈活方便,而且具備匯編語言以及高級語言等多種特征,顯得十分簡潔和緊湊。此外,C語言具備較強(qiáng)的移植性,表達(dá)能力較強(qiáng),功能十分豐富,得到了非常廣泛的應(yīng)用,適合在多種操作系統(tǒng)當(dāng)中應(yīng)用,繼而實現(xiàn)自由書寫,在目前信息技術(shù)高速發(fā)展的時代當(dāng)中呈現(xiàn)出了優(yōu)質(zhì)的效果。
2 計算機(jī)軟件編程當(dāng)中的C語言分析
2.1 匯編語言
在對計算機(jī)軟件進(jìn)行編程處理的過程當(dāng)中,讓C語言跟編程語言之間相互結(jié)合,可以更好的解決一些高難度編程,并且可以讓計算機(jī)軟件所呈現(xiàn)的編程以及開發(fā)效率實現(xiàn)進(jìn)一步提升。二者之間的相互融合,需要將寄存器村進(jìn)行轉(zhuǎn)換,從而實現(xiàn)對語言進(jìn)行匯編的目的。例如,在C語言的源程序當(dāng)中納入?yún)R編語句,這時需要利用“{}”對其加以擴(kuò)充處理,并且要添加“asm”,讓指令代碼置于“asm”之前,然后利用“:”分隔符對匯編語言以及C語言進(jìn)行區(qū)分。在匯編程序嵌入的過程中,負(fù)責(zé)對計算機(jī)軟件進(jìn)行編寫的工作人員需要定義程序,利用C語言對函數(shù)進(jìn)行表示和定義,繼而加以區(qū)分,依據(jù)模塊所具備使用特點的不同,對目標(biāo)文件作出分析,繼而實現(xiàn)編程可靠性的有效提升。
2.2 C語言和匯編語言的鏈接
在對C語言以及匯編語言進(jìn)行編寫的過程當(dāng)中,若想形成鏈接,應(yīng)該對獨立編譯目標(biāo)代碼加以設(shè)置。C語言以及匯編語言二者之間可以實現(xiàn)相互調(diào)用,由多個功能模塊共同構(gòu)成一個任務(wù),有些語言能夠自己轉(zhuǎn)化為功能模塊。因此,在對計算機(jī)軟件進(jìn)行編程的過程當(dāng)中,軟件編程工作人員需要對不同模塊所具備的特點形成良好的掌握,以此為基礎(chǔ)對編程進(jìn)行設(shè)置,構(gòu)建目標(biāo)文件,從而實現(xiàn)有效執(zhí)行。此外,在對C語言進(jìn)行編程的過程當(dāng)中,匯編程序需要進(jìn)行變量定義以及函數(shù)調(diào)用,這就需要工作人員考慮利用寄存器、調(diào)用函數(shù)以及傳遞參數(shù)等相關(guān)問題。在對計算機(jī)軟件進(jìn)行編程的過程當(dāng)中,需要結(jié)合堆棧匯編程序形成對參數(shù)的傳遞,繼而依據(jù)這種規(guī)則實現(xiàn)對軟件的編程。例如,在Voidaa(char*p,inti)這個函數(shù)進(jìn)行編程處理的時候,就應(yīng)該對匯編語言加以應(yīng)用,在小內(nèi)存的系統(tǒng)模式當(dāng)中設(shè)置為aa (&q,n),在系統(tǒng)運行的時候,可以有效存儲數(shù)據(jù)以及參數(shù)傳遞,需要堆棧壓n。此外,在子程序的編程調(diào)用以及C語言程序當(dāng)中,都利用到了一個堆棧,這時將會形成兩種指令“sp以及pushbp pop bp”,為了可以更加方便執(zhí)行的過程,應(yīng)該針對這兩個指令加以設(shè)置處理。
2.3 C語言編程以及匯編語言編程
通常在C語言編程以及匯編語言編程二者相混合編程的情況之下,主要包括以下三種方式:
2.3.1 匯編語言對C語言進(jìn)行調(diào)用的子程序
在該種方式當(dāng)中,匯編語言相應(yīng)的子程序跟主程序在格式方面不應(yīng)該出現(xiàn)變動,需要維持程序格式的一致性,繼而利用“EXTREN函數(shù)名”對身份進(jìn)行表明,這也就證明這個函數(shù)屬于匯編語言所調(diào)用C語言子程序當(dāng)中的一種外部函數(shù)。
2.3.2 C語言對匯編語言進(jìn)行調(diào)用的子程序
該種方式需要遵從以下六個方面的原則:
(1)需要將參數(shù)順序作為基礎(chǔ),而堆棧參數(shù)應(yīng)該是反向循環(huán)。
(2)需要將參數(shù)值作為基礎(chǔ)開始傳遞。
(3)應(yīng)該將“EXTREN函數(shù)名”對函數(shù)進(jìn)行說明,而其所應(yīng)用的字符數(shù)不應(yīng)該多于八個,而且要設(shè)置下劃線。
(4)匯編程序需要保護(hù)好寄存器。
(5)對代碼段進(jìn)行說明,在對代碼段進(jìn)行命名的時候需要利用“-TEXT”。
(6)將C程序當(dāng)中的參數(shù)當(dāng)作匯編程序參數(shù)。
在進(jìn)行編程混合的過程當(dāng)中,需要遵從以上所述六個原則,而且需要利用更為科學(xué)的開頭語結(jié)尾格式。
2.3.3 C語言向匯編語言嵌入
該種方式主要分成兩方面內(nèi)容。
(1)C程序?qū)R編語言當(dāng)中子程序加以調(diào)用。C語言程序當(dāng)中對匯編語言進(jìn)行調(diào)用的子程序需要將主程序以及模塊作為基礎(chǔ),若C語言以及模塊屬于匯編語言主程序,就需要利用C語言程序?qū)R編語言的子程序進(jìn)行調(diào)用。
(2)匯編語言當(dāng)中對C語言嵌入的程序。主要對C語言程序當(dāng)中無法對軟件進(jìn)行處理情況加以改善,例如對某種功能的重復(fù)利用,或者終端標(biāo)志的寄存器修改等。
3 結(jié)束語
總而言之,C語言對于計算機(jī)軟件編程工作具有十分重要的應(yīng)用意義,是推動信息技術(shù)發(fā)展的基礎(chǔ)。相關(guān)從業(yè)人員應(yīng)該積極探索,對國外的一些先進(jìn)技術(shù)以及理念加以借鑒,繼而與我國計算機(jī)軟件編程行業(yè)整體的情況相結(jié)合,創(chuàng)建出一套更加符合我國國情的C語言應(yīng)用體系,為國家經(jīng)濟(jì)建設(shè)注入源源不斷的活力。
參考文獻(xiàn)
[1]趙志全,關(guān)家勤.C語言下的計算機(jī)軟件編程探析[J].電腦知識與技術(shù),2017,13 (10):71+77.
[2]丁群,陳海娃,洪娜佳,基于C語言的計算機(jī)軟件編程分析[J].科技創(chuàng)新與應(yīng)用,2016 (29):88.