matlab與vc混合編程之動(dòng)態(tài)鏈接庫(dll)

matlab與vc混合編程之動(dòng)態(tài)鏈接庫(dll)

ID:47162226

大?。?7.99 KB

頁數(shù):6頁

時(shí)間:2019-08-14

matlab與vc混合編程之動(dòng)態(tài)鏈接庫(dll)_第1頁
matlab與vc混合編程之動(dòng)態(tài)鏈接庫(dll)_第2頁
matlab與vc混合編程之動(dòng)態(tài)鏈接庫(dll)_第3頁
matlab與vc混合編程之動(dòng)態(tài)鏈接庫(dll)_第4頁
matlab與vc混合編程之動(dòng)態(tài)鏈接庫(dll)_第5頁
資源描述:

《matlab與vc混合編程之動(dòng)態(tài)鏈接庫(dll)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、摘要:許多工程軟件需要用到復(fù)雜的數(shù)學(xué)算法。VC++能夠形成各種用戶界面,并可以直接與系統(tǒng)及底層硬件交換數(shù)據(jù)。因此研究VC++和Matlab的混合編程具有很大的實(shí)際意義。該文討論了如何使用Matlab的Complier將*.m函數(shù)編譯為動(dòng)態(tài)鏈接庫DLL,提供給VC++調(diào)用的方法,提供了一種VC++與Matlab混合編程的快速實(shí)現(xiàn)。關(guān)鍵詞:MatlabVC++MCCComplier動(dòng)態(tài)鏈接庫DLLMatlab作為當(dāng)今世界上應(yīng)用最為廣泛的數(shù)學(xué)軟件,具有非常強(qiáng)大的數(shù)值計(jì)算、數(shù)據(jù)分析處理、系統(tǒng)分析、圖形顯示甚至符號(hào)運(yùn)算的功能。已經(jīng)在如生物工程,圖像處理,語音處理,雷達(dá)探

2、空,聲納探水,地震探地,以及控制論,系統(tǒng)論等各個(gè)領(lǐng)域得到廣泛的應(yīng)用。它是一個(gè)完整的數(shù)學(xué)平臺(tái),在這個(gè)平臺(tái)上,用戶只需寥寥數(shù)語就可以完成十分復(fù)雜的功能,大大提高了工程分析計(jì)算、圖像處理的效率。但是Matlab強(qiáng)大的功能只能在它所提供的平臺(tái)上才能使用,即用戶必須在安裝Matlab系統(tǒng)的機(jī)器上才能執(zhí)行*.m文件。這樣當(dāng)用戶需要將在Matlab下已開發(fā)完畢的復(fù)雜算法應(yīng)用到高級(jí)語言開發(fā)環(huán)境下時(shí)就帶來了問題,是將現(xiàn)成的東西集成高級(jí)語言開發(fā)的程序中呢?還是用高級(jí)語言再重新實(shí)現(xiàn)一遍?顯然大家所期望的是減少工作量,最好能將Matlab下開發(fā)好的程序或函數(shù)直接應(yīng)用到高級(jí)語言開發(fā)的程

3、序中,這就是Matlab與高級(jí)語言的混合編程問題。VC++是當(dāng)前Windows下的主要編程語言之一,它能方便地形成應(yīng)用軟件中所需要的各種用戶界面和工具并直接與系統(tǒng)及底層硬件交換數(shù)據(jù)。用VC++開發(fā)的系統(tǒng)具有容易維護(hù)升級(jí)、界面友好、代碼效率高、執(zhí)行速度快等一系列優(yōu)點(diǎn),因此已成為目前應(yīng)用軟件開發(fā)中廣泛采用的主要工具之一因此,如何將Matlab與VC++進(jìn)行有效的混合編程廣受工程科研人員的關(guān)注。解決這個(gè)問題,不僅能更好地發(fā)揮Matlab強(qiáng)大的功能,還能快速地進(jìn)行軟件開發(fā),尤其是當(dāng)軟件開發(fā)中需要實(shí)現(xiàn)復(fù)雜的數(shù)學(xué)算法、圖形處理時(shí)尤為迫切。研究VC++與Matlab的混合編

4、程具有很大的實(shí)際意義。MATLAB與VisualC++結(jié)合的方法有多種,但其實(shí)用程度與范圍不同。常用的方法有:(1)將Matlab程序編譯成C/C++源文件并嵌入VC++;(2)在C/C++程序中利用Matlabengine調(diào)用Matlab函數(shù);(3)在C/C++程序中直接使用MatlabC/C++MathLibrary;(4)將.m文件編譯成*.dll文件嵌入到VC++的程序中?;趯?shí)用性、易用性的考慮,本文主要討論第四種方法。另外隨著Matlab版本的升級(jí),原來的mathlibrary已經(jīng)并入了Compiler之中,是否是mathworks比較推崇DLL的

5、方式呢?本文通過一個(gè)簡(jiǎn)單的例子來說明Matlab和VC++混編的具體過程(環(huán)境為Matlab6.5&VC++6.0)。1Matlab編譯環(huán)境的設(shè)置為了能夠使用Matlab的Complier將*.m函數(shù)文件編譯為動(dòng)態(tài)鏈接庫DLL,必須對(duì)Matlab的環(huán)境做出相應(yīng)的配置。具體做法如下:在Matlab的CommandWindow下輸入命令mbuild–setup,并根據(jù)Matlab的提示選擇合適的編譯器,筆者使用的是MicrosoftVisualC++。過程如下:>>mbuild-setupPleasechooseyourcompilerforbuildingsta

6、ndaloneMATLABapplications:Wouldyoulikembuildtolocateinstalledcompilers[y]/n?Selectacompiler:[1]LccCversion2.4inD:MATLAB6P5syslcc[2]MicrosoftVisualC/C++version7.0inC:ProgramFilesMicrosoftVisualStudio.NET[3]MicrosoftVisualC/C++version6.0inD:MicrosoftVisualStudio[0]NoneCompiler:3

7、Pleaseverifyyourchoices:Compiler:MicrosoftVisualC/C++6.0Location:D:MicrosoftVisualStudioArethesecorrect?([y]/n):然后,在CommandWindow中輸入命令cd(prefdir);mccsavepath;這是為了后面使用Matlab在VC++IDE中的Add-in作準(zhǔn)備。然后輸入命令mex–setup,以類似的方法配置編譯器。至此,Matlab的配置完成。如有疑問,可以參閱Matlab的幫助MatlabCompilerGettingStarted

8、Installationandcon

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。