王博
摘 要 隨著計算機(jī)技術(shù)的快速發(fā)展,編程技術(shù)在軟件開發(fā)過程中演繹著舉足輕重的角色,其作用直接決定著軟件質(zhì)量水準(zhǔn)的高低,傳統(tǒng)的單語言編程已經(jīng)無法滿足日新月異的軟件開發(fā)需求,因此,將多種編程語言融合到一起,取長補(bǔ)短,是今后軟件開發(fā)的趨勢和方向。本文簡要介紹了多語言編程技術(shù),并具體分析了VB(Visual Basic)和VC(Visual C++)混合編程在軟件開發(fā)中的應(yīng)用。
關(guān)鍵詞 多語言編程 軟件開發(fā) 應(yīng)用
中圖分類號:TP31文獻(xiàn)標(biāo)識碼:A
隨著計算機(jī)技術(shù)不斷更新和進(jìn)步,編程技術(shù)在軟件開發(fā)過程中扮演者十分重要的角色,在以往的軟件開發(fā),往往采用單一語言進(jìn)行編制程序,例如FORTRAN、VC、VB等,然而編程語言各有優(yōu)缺點,純粹使用某一種語言往往會影響軟件開發(fā)速度和質(zhì)量?;谶@一點地考慮,很多程序員開始采用多語言編程的方法,各取所長、相互調(diào)用,從而來實現(xiàn)軟件開發(fā)中各項設(shè)計和功能,因此,多語言編程能夠提高軟件開發(fā)的水準(zhǔn),增加開發(fā)人員的工作效率,必將成為今后軟件開發(fā)中一項不可或缺的重要技術(shù)。
1多語言編程技術(shù)
在軟件開發(fā)設(shè)計中,若單一使用某一種語言編程很難將軟件功能完全實現(xiàn),為此,多語言編程技術(shù)將各種語言糅合到一起,最大限度地實現(xiàn)軟件的各項功能,然而由于各項語言編程的函數(shù)關(guān)系和映射條件并不完全相同。因此、多語言編程技術(shù)需要著重解決其調(diào)用規(guī)制和字符轉(zhuǎn)換的問題,從而達(dá)到多種語言在軟件開發(fā)中的協(xié)調(diào)一致。
(1)調(diào)用規(guī)則
不同類型的編程語言有著其獨特的程序類型,其調(diào)用函數(shù)不盡相同,運(yùn)算意義也存在著很大的差異,例如C++編程語言一般使用FUNCTION函數(shù),VB可能調(diào)用API函數(shù),函數(shù)的調(diào)用規(guī)則和類型不一樣,在多語言編程過程中就會出現(xiàn)錯誤代碼,因為不同函數(shù)的調(diào)用規(guī)則會直接改變編程語言的運(yùn)算步奏和規(guī)律,直接影響程序設(shè)計者的初衷。因此,在多語言編程過程中,需要定義某一種特定函數(shù)來進(jìn)行轉(zhuǎn)換,例如在FORTRAN語言中可以采用INTERFACE來定義調(diào)用規(guī)則之間的轉(zhuǎn)換,確保各種語言程序能夠按照設(shè)計者的意向工作,從而實現(xiàn)軟件開發(fā)的功能。
(2)字符轉(zhuǎn)換
每種編程語言對字符的定義有著其特有含義,一般來說,不同編程語言之間的字符含義往往并不相同,甚至有些編程語言的特殊字符在另一種編程語言中根本就不存在,字符里的信息傳遞就會受到阻礙,難以實現(xiàn)編程目標(biāo)。為此,在多語言編程過程中要想實現(xiàn)字符間信息涵義的傳遞,可以采用字符轉(zhuǎn)換代碼將字符含義進(jìn)行轉(zhuǎn)換傳遞,例如最早的編程語言FORTRAN中就沒有空結(jié)束符,但是一些其他編程語言中存在特定含義的空結(jié)束符,C語言中就以(‘\0)來表示空結(jié)束符,這就需要編寫一定的轉(zhuǎn)換代碼進(jìn)行字符轉(zhuǎn)換,在字符轉(zhuǎn)換的同時進(jìn)行信息的正確傳遞。
2以VB和VC++為例分析多語言編程在軟件開發(fā)中的應(yīng)用
Visual Basic和Visual C++都是常用的可視化程序開發(fā)語言,Visual C++能夠創(chuàng)建短小高效且運(yùn)行速度快的代碼,而Visual Basic提供了最迅速最簡潔的應(yīng)用平臺。因此,將VB和VC++兩種編程進(jìn)行融合,以VB創(chuàng)建界面,VC++編寫具體程序和代碼,不僅能夠提高程序的速率,而且還增加了程序運(yùn)行的效率。
(1)VB和VC++多語言編程方式
VB和VC++融合編程的方式多種多樣,就以目前實際編程效果而言,采用VC++語言生成動態(tài)鏈接庫,再在VB界面中調(diào)用動態(tài)鏈接庫導(dǎo)出函數(shù)的方法相對來說是比較可行的。具體一點講,首先在VC++開發(fā)環(huán)境下新建一個Win64動態(tài)鏈接庫(簡稱DLL),例如chdll工程動態(tài)鏈接庫,并編寫一定的函數(shù)聲明,最終會生成chdll.dll文件即可,然后再VB工程中調(diào)用剛生成的chdll.dll文件中的函數(shù),在調(diào)用之前還需進(jìn)行函數(shù)聲明,之后VB就可以對這個函數(shù)進(jìn)行調(diào)用,其方法和調(diào)用VB自己函數(shù)時一樣。通過上述方法,在VC++編程語言環(huán)境下建立動態(tài)鏈接庫,再通過VB調(diào)用動態(tài)鏈接庫中的函數(shù),從而保證VC++高效精悍的函數(shù)代碼與VB簡潔迅速的工作界面有機(jī)的結(jié)合在一起,最終提高代碼的效率和質(zhì)量。
(2)VB和VC++多語言編程在軟件開發(fā)中的應(yīng)用實例
PKPM 3DMODEL軟件在模型的建造、動態(tài)實時操作以及三維真實感顯示等方面有著極為顯著的功能,已經(jīng)被廣泛應(yīng)用于全國許多的建筑設(shè)計單位所采用。最初在開發(fā)該軟件時僅采用Visual Basic作為開發(fā)工具,但在實際模型的測試過程中存在很多問題,例如圖片量大,三維圖形的面片數(shù)較多時,軟件的運(yùn)行速率就相當(dāng)緩慢,軟件對于鼠標(biāo)的點擊往往會延遲幾秒,這種軟件品質(zhì)很難得到操作者的認(rèn)可。后來通過一段時間的摸索研究,采用VB和VC++聯(lián)用的多語言編程方法,將影響軟件運(yùn)行速率的函數(shù)、映射等用VC++語言進(jìn)行程序編寫,并匯總到動態(tài)鏈接庫中,最后在VB開發(fā)環(huán)境中調(diào)用,一下子就解決了困擾多時的難題。
總而言之,多語言編程技術(shù)可以充分利用各種編程語言的優(yōu)點和長處,并將其高度糅合到一起,采用動態(tài)鏈接庫技術(shù),在不同語言編程開發(fā)工程上進(jìn)行函數(shù)調(diào)用,從而彌補(bǔ)單一語言編程所帶來的缺陷,隨著計算機(jī)技術(shù)的革新,這種編程技術(shù)必將得到突飛猛進(jìn)地發(fā)展。
參考文獻(xiàn)
[1] 周家紀(jì).多語言編程技術(shù)在軟件開發(fā)中的應(yīng)用[J].新疆大學(xué)學(xué)報,2002(05).
[2] 田源.交換編程技術(shù)在軟件開發(fā)中的應(yīng)用[J].電腦知識與技術(shù),2006(07).