版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
MATLAB編譯器19.1MATLAB編譯器簡(jiǎn)介MATLABCompiler是MATLAB應(yīng)用程序集成與發(fā)布的一種重要工具。MATLABCompilerMATLAB的M函數(shù)文件轉(zhuǎn)換成獨(dú)立可執(zhí)行的應(yīng)用程序、可發(fā)布的應(yīng)用程序函數(shù)庫(kù)(DLL)或組件(如COM、ActiveX等),這些應(yīng)用程序組件能夠脫離MATLAB環(huán)境在不同的平臺(tái)上應(yīng)用。特別是在最新版的MATLAB7.0中,MATLABCompiler的功能得到很大的提升和擴(kuò)展,幾乎可以編譯所有的工具箱函數(shù)。本節(jié)首先簡(jiǎn)要介紹MATLABCompiler4的工作原理和過(guò)程,并討論MATLABCompiler4與早期版本MATLABCompiler的差別;第節(jié)列出了MATLABCompiler4的主要功能和缺陷;第節(jié)介紹了腳本文件與函數(shù)文件的轉(zhuǎn)換。19.1.1MATLABCompiler4MATLABCompiler4是在第三方C/C++編譯器的支持下,將MATLAB的M函數(shù)文件轉(zhuǎn)換為可獨(dú)立執(zhí)行的應(yīng)用程序、函數(shù)庫(kù)或組件的應(yīng)用程序發(fā)布工具。MATLABCompiler4與早期版本的MATLABCompiler有所不同,早期的MATLABCompiler只是將M函數(shù)文件轉(zhuǎn)變成標(biāo)準(zhǔn)C/C++源代碼,然后由第三方C/C++編譯器將其編譯成獨(dú)立可執(zhí)行的應(yīng)用程序、函數(shù)庫(kù)或組件等。MATLABCompiler4由三個(gè)組件構(gòu)成,即MATLABCompiler、MATLABComponentRuntime(MCR)和ComponentTechnologyFile(CTF)。其中MATLABCompiler組件是MATLABCompiler4提供給用戶用于應(yīng)用程序發(fā)布的界面,是包含若干交互式命令和命令行開(kāi)關(guān)選項(xiàng)的工具命令行。19.1.2MATLABCompiler4的功能和局限性MATLABCompiler4比起早期版本的MATLAB編譯器性能有很大的提升,這主要體現(xiàn)在對(duì)MATLAB各項(xiàng)功能的支持上有很大擴(kuò)展,特別是對(duì)工具箱函數(shù)的支持。下面列出了MATLABCompiler4的幾個(gè)應(yīng)用:獨(dú)立可執(zhí)行應(yīng)用程序:不需要MATLAB7.0軟件環(huán)境的支持,可以在沒(méi)有安裝MATLAB的計(jì)算機(jī)上運(yùn)行;C與C++共享庫(kù)(在Windows操作系統(tǒng)中為動(dòng)態(tài)連接庫(kù)DLL);Excel附件:需要MATLAB7.0Builder;COM附件:需要MATLAB7.0Builder。19.1.3腳本文件與函數(shù)文件的轉(zhuǎn)換針對(duì)MATLABCompiler不能處理腳本文件的問(wèn)題,用戶可以事先將腳本文件轉(zhuǎn)換為M函數(shù)文件,然后利用編譯器編譯該M函數(shù)文件。熟悉M程序設(shè)計(jì)(參考本書(shū)第15章)的用戶應(yīng)當(dāng)知道腳本文件與函數(shù)文件的轉(zhuǎn)換是十分容易的,只需在腳本文件的開(kāi)頭添加一行函數(shù)聲明即可。下面僅通過(guò)一個(gè)簡(jiǎn)單的示例說(shuō)明如何使用編譯器編譯腳本文件。19.2編譯器的安裝和設(shè)置在使用MATLABCompiler之前用戶需要正確地安裝MATLAB、MATLABCompiler及一個(gè)MATLABCompiler支持的第三方C/C++編譯器,而且需要對(duì)MATLABCompiler進(jìn)行合理的配置。本節(jié)首先介紹編譯器的安裝和配置,最后介紹MCR的安裝,這是MATLAB外部應(yīng)用程序運(yùn)行必需的環(huán)境支持。19.2.1安裝編譯器MATLABCompiler4至少需要MATLAB7.0的支持,在MATLAB安裝過(guò)程中要確保“MATLABCompiler”被選中(默認(rèn)情況)。MATLAB對(duì)第三方C/C++編譯器的支持是比較廣泛的,下面列出了Windows平臺(tái)下MATLABCompiler4支持的常用第三方C/C++編譯器。LccC:MATLAB7.0自帶的編譯器,僅能夠編譯C代碼,不能編譯C++代碼。BorlandC++:適用版本為5.3、5.4、5.5和5.6。MicrosoftVisualC/C++(MSVC):適用版本為6.0、7.0和7.1。用戶可以通過(guò)在命令窗口輸入指令mbuild–setup查看編譯器支持的第三方C/C++編譯器,詳細(xì)內(nèi)容參考第節(jié)的編譯器設(shè)置。19.2.2設(shè)置編譯器完成編譯器的安裝工作之后,還不能正常地使用編譯器進(jìn)行應(yīng)用程序發(fā)布,用戶需要對(duì)編譯器進(jìn)行相關(guān)的設(shè)置。編譯器的設(shè)置在第一次使用MATLAB編譯器或修改編譯器安裝路徑后進(jìn)行。另外如果用戶需要選擇其他的第三方C/C++編譯器,也需要重新設(shè)置MATLAB編譯器。完成編譯器設(shè)置之后,用戶就可以直接使用選定的第三方C/C++編譯器完成應(yīng)用程序的發(fā)布工作。用戶可以在操作系統(tǒng)或MATLAB的命令窗口中利用如下指令:>>mbuild-setup19.2.3安裝MCR第19.1節(jié)中提到MATLABCompiler4由三個(gè)組件構(gòu)成,即MATLABCompiler、MATLABComponentRuntime(MCR)和ComponentTechnologyFile(CTF)。MATLABComponentRuntime集成了MATLAB所有的語(yǔ)言特性和核心共享函數(shù)庫(kù),由MATLABCompiler創(chuàng)建的獨(dú)立可執(zhí)行應(yīng)用程序、函數(shù)庫(kù)或組件的正常運(yùn)行都需要MCR的支持。在進(jìn)行應(yīng)用程序發(fā)布時(shí),考慮到最終用戶的計(jì)算機(jī)上可能沒(méi)有安裝MATLAB,用戶需要將編譯生成的目標(biāo)文件,連同相應(yīng)的CTF文件和MCR安裝文件一并打包發(fā)布給最終用戶。最終無(wú)須擁有MATLAB環(huán)境,只需要安裝MCR,就能正常運(yùn)行發(fā)布的應(yīng)用程序。如果發(fā)布的是獨(dú)立可執(zhí)行應(yīng)用程序,則需要發(fā)布給最終用戶的是CTF文件和MCR安裝文件;如果發(fā)布的是動(dòng)態(tài)共享庫(kù),則需要發(fā)布給最終用戶的是動(dòng)態(tài)庫(kù)文件(DLL)、相應(yīng)的頭文件(.h)、庫(kù)文件(.lib)以及CTF文件和MCR安裝文件。19.3編譯器使用入門本節(jié)將具體介紹MATLABCompiler的使用方法。首先詳細(xì)討論mcc編譯命令的用法,主要是各類編譯選項(xiàng)的含義等;在此基礎(chǔ)上以示例的形式介紹M函數(shù)文件的完整編譯過(guò)程,第節(jié)介紹了含繪圖指令的M文件編譯。19.3.1mcc編譯指令mcc編譯指令是MATLABCompiler提供給用戶進(jìn)行應(yīng)用程序發(fā)布的一組命令行工具,用戶通過(guò)設(shè)置不同的開(kāi)關(guān)選項(xiàng)完成各種不同的應(yīng)用程序發(fā)布任務(wù)。下面分別給出了MATLABCompiler4和MATLABCompiler3兩個(gè)版本的mcc使用方法。19.3.2M文件編譯前面的一小節(jié)對(duì)mcc的使用進(jìn)行了概要式的介紹,本小節(jié)及下一小節(jié)通過(guò)兩個(gè)例子分別討論M文件和含繪圖指令的M文件的編譯過(guò)程,目的是熟悉mcc的使用方法。19.4由M文件創(chuàng)建獨(dú)立可執(zhí)行應(yīng)用程序第19.3節(jié)的兩個(gè)示例已經(jīng)詳細(xì)討論了如何利用MATLABCompiler生成獨(dú)立可執(zhí)行的應(yīng)用程序,這兩個(gè)例子中的M函數(shù)文件都是具有輸入?yún)?shù)的函數(shù)文件,一般很少將具有參數(shù)的M文件直接轉(zhuǎn)換為獨(dú)立可執(zhí)行應(yīng)用程序,而是另外編寫(xiě)一個(gè)不含參數(shù)的M文
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 臨時(shí)汽車銷售人員合同模板
- 兒童玩具品牌租賃合約
- 藥品原料供應(yīng)合同模板
- 國(guó)際發(fā)展異常處理辦法
- 航空運(yùn)動(dòng)培訓(xùn)機(jī)構(gòu)評(píng)估
- 2025購(gòu)買設(shè)備合同范文
- 跨部門協(xié)作:班組長(zhǎng)績(jī)效管理實(shí)踐
- 2024年風(fēng)險(xiǎn)投資股權(quán)激勵(lì)合同
- 競(jìng)爭(zhēng)情報(bào)提案管理辦法
- 藥品電子商務(wù)法律規(guī)范
- 遼寧省沈陽(yáng)市2022-2023學(xué)年六年級(jí)上學(xué)期語(yǔ)文期末試卷(含答案)
- 23J916-1:住宅排氣道(一)
- 四年級(jí)全冊(cè)《勞動(dòng)》課程知識(shí)點(diǎn)匯總精排
- 儲(chǔ)能項(xiàng)目用戶側(cè)投資測(cè)算表
- 脊柱四肢及肛門直腸檢查
- 高中政治期末綜合檢測(cè)部編版選修1
- 小學(xué)科學(xué)五年級(jí)上冊(cè)期末測(cè)試質(zhì)量分析
- 電子科技公司安全生產(chǎn)管理制度
- 收款單位變更委托書(shū)
- 歷史(中職)PPT全套教學(xué)課件
- 藥物分離技術(shù)教材吳昊課后參考答案
評(píng)論
0/150
提交評(píng)論