資源描述:
《C_與Fortran混合編程及其在氣象軟件中的應(yīng)用.pdf》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、中圖分類號:TP311文獻(xiàn)標(biāo)識碼:A文章編號:1009-2552(2010)11-0028-03C#與Fortran混合編程及其在氣象軟件中的應(yīng)用張金喜,顧韻華(南京信息工程大學(xué)計(jì)算機(jī)軟件學(xué)院,南京210044)摘要:Fortran語言由于其強(qiáng)大的計(jì)算功能被廣泛地應(yīng)用于科學(xué)計(jì)算領(lǐng)域。通過C#和Fortran混合編程技術(shù)的應(yīng)用,可充分發(fā)揮C#在圖形界面開發(fā)和Fortran在高性能計(jì)算上各自的優(yōu)勢,有效利用已有程序資源,提高開發(fā)效率。討論了基于動(dòng)態(tài)鏈接庫技術(shù)實(shí)現(xiàn)C#與Fortran混合編程的關(guān)鍵問題。以某人工增雨效果評估應(yīng)用系統(tǒng)項(xiàng)目應(yīng)用為例,闡述了C#與Fortran的混合編程實(shí)現(xiàn)。
2、關(guān)鍵詞:混合編程;動(dòng)態(tài)鏈接庫;接口;氣象軟件ApplicationofmixedlanguageprogrammingofC#andFortraninmeteorologicalsoftwareZHANGJin-xi,GUYun-hua(SchoolofComputerandSoftware,NanjingUniversityofInformationScienceandTechnology,Nanjing210044,China)Abstract:Fortranlanguagehasbeenwidelyappliedtoscientificcomputingduetoitspo
3、werfulcomputing.PeoplecanfulltakeadvantageofC#ongraphicalinterfacedevelopmentandFortranlanguageonhigh-performancecomputingtomakeuseofexistingprogramresourceandenhancedevelopmentefficiencyeffectively.Thisarticlediscussesthekeyissuesofthetechnologyofthemixed-languageprogrammingofC#andFortranwhi
4、chusesdynamiclinklibraries.Takingthecaseofaappraisalsystemofartificialrainfall,itspecificallydescribestheimplementationsofthemixed-languageprogrammingofC#andFortran.Keywords:mixed-languageprogramming;dynamiclinklibraries;interface;meteorologicalsoftware0引言和Fortran之間的相互調(diào)用的研究尚不多。本文基Fortran語言是一種
5、適合數(shù)值計(jì)算的語言,具有于動(dòng)態(tài)鏈接庫技術(shù)解決了C#與Fortran語言混合編強(qiáng)大的科學(xué)計(jì)算能力。在多年的科學(xué)研究中,氣象程中的關(guān)鍵問題,并給出了C#與Fortran混合編程行業(yè)已經(jīng)積累了大量的成熟的氣象數(shù)值處理運(yùn)算程在某人工增雨效果評估應(yīng)用系統(tǒng)項(xiàng)目中應(yīng)用的具體序函數(shù)包。但這些程序函數(shù)包的運(yùn)行結(jié)果多為實(shí)現(xiàn)。DOS界面,不美觀而且展示不方便。要有效利用現(xiàn)1C#與Fortran混合編程有的程序資源開發(fā)更為強(qiáng)大的應(yīng)用程序,可以充分1.1C#與Fortran混合編程方法利用混合編程技術(shù)。C#語言開發(fā)快速高效,程序開[1]C#與Fortran混合編程的方法主要有以下3種。發(fā)周期短,產(chǎn)品界面豐
6、富美觀。因此通過C#與For-(1)ActiveX部件方式:將共享代碼封裝在Ac-tran混合編程可以充分發(fā)揮兩種語言各自的優(yōu)勢,tiveX部件之中。ActiveX部件有兩種,一種是編譯提高產(chǎn)品的開發(fā)效率?;旌暇幊淌侵冈谝粋€(gè)系統(tǒng)中利用多種語言進(jìn)行收稿日期:2010-05-17編程,多種語言間相互調(diào)用,各自完成相應(yīng)的功能,基金項(xiàng)目:國家發(fā)改委“青海省三江源自然保護(hù)區(qū)人工增雨工程”項(xiàng)目(2009-Q-01)共同服務(wù)于整個(gè)系統(tǒng)。目前VB,VC等語言與For-作者簡介:張金喜(1983-),男,碩士研究生,主要從事計(jì)算機(jī)網(wǎng)絡(luò)tran之間的相互調(diào)用已經(jīng)進(jìn)行了大量的研究,但C#與信息安全研究
7、?!?8—生成動(dòng)態(tài)鏈接庫DLL文件,另一種是生成EXE文函數(shù)調(diào)用可以采用Cdecl與STDCALL調(diào)用約定之[4]件,這兩種部件都可以將代碼和資源文件作為公共間的任意一種,但是必須統(tǒng)一。可將兩種語言的接口供其他程序調(diào)用。調(diào)用約定都設(shè)成“StdCall”模式,也可都設(shè)成“Cdecl”(2)混合編程的幾種語言可以相互鏈接,最終模式。在Fortran中使用“!DEC$”命令用來指定生成一個(gè)EXE程序。調(diào)用約定是“Cdecl”還是“STDCALL”。如:(3)其他應(yīng)用進(jìn)程間通訊的方式:如