999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

多語言編程技術在軟件開發中的應用分析

2013-12-31 00:00:00白文霞
電腦迷 2013年11期

摘 要 隨著科學技術的不斷進步與發展,編程技術在軟件開發中發揮著越來越重要的作用,在原來的軟件開發過程中,通常采用FORTRAN語言來進行軟件所需的程序的編制,但是隨著科學技術以及計算機技術的快速發展,VC++語言的適用范圍不斷擴大,在自身不斷發展的同時也為軟件開發奠定了堅實的技術基礎。在綜合運用多語言編程技術的基礎上,也把軟件開發推向了一個新的水準。當前對于多語言編程技術在軟件開發中的應用進行探討和研究具有重要的現實意義。本文將首先介紹動態鏈接庫技術,再對多語言編程技術進行介紹,希望給讀者一定的啟發。

關鍵詞 多語言編程技術 軟件開發 應用

中圖分類號:TP312 文獻標識碼:A

1 動態鏈接庫技術

動態鏈接庫的英文翻譯是Dynamic Link Library,因此動態鏈接庫又叫DLL,在DLL中通常可以包含很多的代碼和數據,而這些代碼和數據可以同時被多個程序都是識別并使用,從而實現了各個編程技術的動態鏈接。DLL作為一個不可執行文件,同時提供了一個對普通程序的代碼進行識別和調用的函數,使得多個程序可以在相同的時間段內訪問和使用同一個代碼。DDL文件一般都會帶有.dll這樣的擴展名,因此也可將DLL作為一種磁盤文件來看待,在這個文件中包含了所需的全部數據、服務函數以及其他資源,DLL模塊也正是通過這些函數和數據資源實現動態鏈接以及提供服務。在動態鏈接庫進行動態鏈接之前必須與相應的聲明函數或是引入函數作為引導,否則就不可以實現程序的動態鏈接。比如在DLL代碼中必須有像__declspec(dllexport) int MyFunction(int n);這樣的導出函數以及像__declspec(dllimport) int MyFuncition(int n);這樣的輸入聲明函數,當然僅僅擁有輸入和輸出兩種聲明函數是不能將其他程序連接到DLL文件上的,還需要其他的調用函數的配合。

2 多語言編程技術

在軟件開發設計的過程中,如果僅僅使用一種或是很少的編程程序是不能將軟件的實際功能完全實現的,因此多語言編程技術滿足了軟件設計多種編程語言的需要,也為多種編寫代碼實現鏈接提供了可能性。但是如果多種編程語言混合在一起,若想保證原來各種編程的運行速度以及整體的運行效率,對于多語言編程技術的首要要求就是具有一定的調用規則,主要包括命名規則、堆棧的使用等等,這些都是多語言編程得以實現的基礎,也可以說是關鍵性的問題。以下將對多語言混合編程的函數調用規則以及數據結構作簡要的分析。

2.1 調用規則

不同的語言編程,其程序類型也不盡相同,因此多語言編程技術的調用規則還需要滿足不同的程序類型需求,比如C++語言常用的調用函數是FUNCTION函數。函數的調用規則決定了函數下一階段的運行,它直接影響變量的傳遞和接受,還會對變量的順序產生一定的影響。因此在一些類型的語言中,需要設定特定的函數進行轉換的聲明。另外調用規則還和函數的數據傳輸以及數據的傳輸形式具有一定的關聯性,比如傳遞的是一個數值還是地址都和調用規則有聯系。

2.2 字符轉換

一般情況下,在C語言中字符出現的形式主要以指針為主,另外在C語言中的字符傳遞方式和地址的傳遞方式相同,但這并不包括字符長度的傳遞。而一般在C語言中都以字符‘\0’作為每一行的結束符,但是在一些其他的編程語言中,有的語言是直接不具有結束字符,比如在FORTRAN語言中就沒有結束符,因此要想實現C和FORTRAN之間字符的傳遞,可以直接將字符轉化為C字符或者是直接編寫相應的程序接收字符,后者也可以實現在進行字符轉換和傳遞的同時進行字符長度變量的傳遞。

3 多語言編程的實現

3.1 在C中調用FORTRAN的動態鏈接庫

在DLL文件中的函數會根據相對應的符號名或是整數值進行函數表的歸納,當DLL引出一個符號時必須使用相對應的符號進行引出,將這些符號統稱在一起就叫做符號的引入。在FORTRAN語言中,DLL用戶可以直接通過文件的屬性找到與之對應的函數或是代碼,從而實現函數的聲明。將一些類似的代碼或是數據和多個函數進行鏈接之后就會生成所需要的test.dll和zc.dll文件。

當實現動態鏈接之后,接下來所要考慮的就是如何進行動態鏈接庫的使用。一般情況下,無論是.LIB文件還是.DLL文件都采用隱式連接或是靜態連接的方式,因此當有應用程序訪問DLL文件時,動態鏈接庫必須存在該程序的目錄。這樣就可以直接避免出現鏈接庫路徑連接錯誤。在實際的程序設計和軟件開發中,采用動態聯編的方式來實現鏈接庫的調用比較多。

3.2 在FORTRAN中調用C的動態鏈接庫

在實際的算法運行過程中,由于一些算法或是正反演算法的迭代使用和計算,這就對數據的傳輸和處理帶來影響,并不是所有的數據結果處理都很精確或是合理,嚴重時還會導致算法或是整個編程運行停止,因此對于一些重要的參數或是函數進行監控室非常必要的。在VC++進行調用算法動態鏈接庫時,如果將鏈接運行的信息即時顯示在相關屏幕上就可以方便對程序運行工程的判斷和分析。在VC++中可以編寫幾個控制動態鏈接庫的函數,這些函數的聲明也可以作為FORTRAN算法的引出函數,這時候在運行FORTRAN算法動態鏈接庫的同時也可以將算法的信息顯示給VC++的應用程序的狀態窗口,根據窗口顯示的函數返回值,用戶就可以實現對于動態鏈接庫的實時控制以及在FORTRAN中調用C的動態鏈接庫。

4 結語

盡管當前編程技術日新月異,但是在系統或是軟件設計中如何將這些云煙編程技術進行綜合運用或是實現各個語言程序的相互連接問題,仍是當前在軟件開發中仍需要考慮的問題。而在研究中發現,DLL作為一個可以由多個程序同時使用的代碼和數據的庫,實現了多語言編程技術的相互連接,實現了資源共享,是實現多語言編程技術在軟件開發中的應用的基礎和前提。

參考文獻

[1] 楊小鋒,陳艷燕.智能卡中JNI技術的應用實現[J].浙江師范大學學報(自然科學版).2005(03).

[2] 周濤,郭占元,郭向榮.FORTRAN與C#混合編程在土木工程計算中的應用[J].山東交通學院學報.2009(01).

[3] 湯洪志,周華中,胡文平,周亞東.VB與Visual Fortran混合語言編程及其在物探化探數值計算中的應用[J].物探化探計算技術.2002(01).

主站蜘蛛池模板: 亚洲国产中文精品va在线播放 | 亚欧乱色视频网站大全| 日韩少妇激情一区二区| 国产欧美日韩视频一区二区三区| 无码高潮喷水专区久久| 波多野结衣久久精品| 国产情精品嫩草影院88av| 精品人妻一区二区三区蜜桃AⅤ| 911亚洲精品| 91精品国产综合久久香蕉922| 欧美性天天| 毛片免费在线视频| 精品无码日韩国产不卡av| 国产一级妓女av网站| 情侣午夜国产在线一区无码| 国产91小视频| 国产成人无码综合亚洲日韩不卡| 91免费国产在线观看尤物| 日韩免费毛片视频| 欧美第九页| 97一区二区在线播放| 成人午夜天| 久久亚洲国产最新网站| 毛片久久久| 久久成人国产精品免费软件| 国产精品久久久久久久久久98 | 亚洲国产天堂在线观看| 一级毛片不卡片免费观看| 97超级碰碰碰碰精品| 一本一道波多野结衣一区二区| 欧美精品综合视频一区二区| 久久国产免费观看| 亚洲av无码久久无遮挡| 丰满少妇αⅴ无码区| 欧美不卡二区| 精品伊人久久久香线蕉 | 日本三级欧美三级| av在线5g无码天天| 手机在线看片不卡中文字幕| 在线毛片网站| 2020精品极品国产色在线观看| 久久国产拍爱| 在线国产三级| 亚洲无限乱码一二三四区| 欧美性天天| 国产精品美女自慰喷水| 国产精品久久久久鬼色| 一级做a爰片久久免费| 久久亚洲美女精品国产精品| 91福利国产成人精品导航| 国产午夜不卡| 91娇喘视频| 婷婷六月天激情| 福利姬国产精品一区在线| 国产成人无码播放| 亚洲精品国产成人7777| 亚洲黄网在线| 国产成人狂喷潮在线观看2345| 国产成人精品在线1区| 日本欧美一二三区色视频| 亚洲综合在线网| 69av免费视频| 成人第一页| 国产精品乱偷免费视频| 午夜a级毛片| 久久国产热| 亚洲精品视频在线观看视频| 日本欧美视频在线观看| 亚洲成aⅴ人在线观看| 欧美精品影院| 亚洲人成网7777777国产| 国产无码制服丝袜| 成人年鲁鲁在线观看视频| 色成人亚洲| 国产噜噜噜视频在线观看| 国产成人超碰无码| 久久国产精品国产自线拍| 亚洲精品视频免费看| 国产人前露出系列视频| 久久国产亚洲偷自| 亚洲欧美国产视频| 久久精品这里只有精99品|