MATLAB編譯器基礎知識_第1頁
MATLAB編譯器基礎知識_第2頁
MATLAB編譯器基礎知識_第3頁
MATLAB編譯器基礎知識_第4頁
MATLAB編譯器基礎知識_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

MATLAB編譯器19.1MATLAB編譯器簡介MATLABCompiler是MATLAB應用程序集成與發(fā)布的一種重要工具。MATLABCompilerMATLAB的M函數(shù)文件轉(zhuǎn)換成獨立可執(zhí)行的應用程序、可發(fā)布的應用程序函數(shù)庫(DLL)或組件(如COM、ActiveX等),這些應用程序組件能夠脫離MATLAB環(huán)境在不同的平臺上應用。特別是在最新版的MATLAB7.0中,MATLABCompiler的功能得到很大的提升和擴展,幾乎可以編譯所有的工具箱函數(shù)。本節(jié)首先簡要介紹MATLABCompiler4的工作原理和過程,并討論MATLABCompiler4與早期版本MATLABCompiler的差別;第節(jié)列出了MATLABCompiler4的主要功能和缺陷;第節(jié)介紹了腳本文件與函數(shù)文件的轉(zhuǎn)換。19.1.1MATLABCompiler4MATLABCompiler4是在第三方C/C++編譯器的支持下,將MATLAB的M函數(shù)文件轉(zhuǎn)換為可獨立執(zhí)行的應用程序、函數(shù)庫或組件的應用程序發(fā)布工具。MATLABCompiler4與早期版本的MATLABCompiler有所不同,早期的MATLABCompiler只是將M函數(shù)文件轉(zhuǎn)變成標準C/C++源代碼,然后由第三方C/C++編譯器將其編譯成獨立可執(zhí)行的應用程序、函數(shù)庫或組件等。MATLABCompiler4由三個組件構成,即MATLABCompiler、MATLABComponentRuntime(MCR)和ComponentTechnologyFile(CTF)。其中MATLABCompiler組件是MATLABCompiler4提供給用戶用于應用程序發(fā)布的界面,是包含若干交互式命令和命令行開關選項的工具命令行。19.1.2MATLABCompiler4的功能和局限性MATLABCompiler4比起早期版本的MATLAB編譯器性能有很大的提升,這主要體現(xiàn)在對MATLAB各項功能的支持上有很大擴展,特別是對工具箱函數(shù)的支持。下面列出了MATLABCompiler4的幾個應用:獨立可執(zhí)行應用程序:不需要MATLAB7.0軟件環(huán)境的支持,可以在沒有安裝MATLAB的計算機上運行;C與C++共享庫(在Windows操作系統(tǒng)中為動態(tài)連接庫DLL);Excel附件:需要MATLAB7.0Builder;COM附件:需要MATLAB7.0Builder。19.1.3腳本文件與函數(shù)文件的轉(zhuǎn)換針對MATLABCompiler不能處理腳本文件的問題,用戶可以事先將腳本文件轉(zhuǎn)換為M函數(shù)文件,然后利用編譯器編譯該M函數(shù)文件。熟悉M程序設計(參考本書第15章)的用戶應當知道腳本文件與函數(shù)文件的轉(zhuǎn)換是十分容易的,只需在腳本文件的開頭添加一行函數(shù)聲明即可。下面僅通過一個簡單的示例說明如何使用編譯器編譯腳本文件。19.2編譯器的安裝和設置在使用MATLABCompiler之前用戶需要正確地安裝MATLAB、MATLABCompiler及一個MATLABCompiler支持的第三方C/C++編譯器,而且需要對MATLABCompiler進行合理的配置。本節(jié)首先介紹編譯器的安裝和配置,最后介紹MCR的安裝,這是MATLAB外部應用程序運行必需的環(huán)境支持。19.2.1安裝編譯器MATLABCompiler4至少需要MATLAB7.0的支持,在MATLAB安裝過程中要確保“MATLABCompiler”被選中(默認情況)。MATLAB對第三方C/C++編譯器的支持是比較廣泛的,下面列出了Windows平臺下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。用戶可以通過在命令窗口輸入指令mbuild–setup查看編譯器支持的第三方C/C++編譯器,詳細內(nèi)容參考第節(jié)的編譯器設置。19.2.2設置編譯器完成編譯器的安裝工作之后,還不能正常地使用編譯器進行應用程序發(fā)布,用戶需要對編譯器進行相關的設置。編譯器的設置在第一次使用MATLAB編譯器或修改編譯器安裝路徑后進行。另外如果用戶需要選擇其他的第三方C/C++編譯器,也需要重新設置MATLAB編譯器。完成編譯器設置之后,用戶就可以直接使用選定的第三方C/C++編譯器完成應用程序的發(fā)布工作。用戶可以在操作系統(tǒng)或MATLAB的命令窗口中利用如下指令:>>mbuild-setup19.2.3安裝MCR第19.1節(jié)中提到MATLABCompiler4由三個組件構成,即MATLABCompiler、MATLABComponentRuntime(MCR)和ComponentTechnologyFile(CTF)。MATLABComponentRuntime集成了MATLAB所有的語言特性和核心共享函數(shù)庫,由MATLABCompiler創(chuàng)建的獨立可執(zhí)行應用程序、函數(shù)庫或組件的正常運行都需要MCR的支持。在進行應用程序發(fā)布時,考慮到最終用戶的計算機上可能沒有安裝MATLAB,用戶需要將編譯生成的目標文件,連同相應的CTF文件和MCR安裝文件一并打包發(fā)布給最終用戶。最終無須擁有MATLAB環(huán)境,只需要安裝MCR,就能正常運行發(fā)布的應用程序。如果發(fā)布的是獨立可執(zhí)行應用程序,則需要發(fā)布給最終用戶的是CTF文件和MCR安裝文件;如果發(fā)布的是動態(tài)共享庫,則需要發(fā)布給最終用戶的是動態(tài)庫文件(DLL)、相應的頭文件(.h)、庫文件(.lib)以及CTF文件和MCR安裝文件。19.3編譯器使用入門本節(jié)將具體介紹MATLABCompiler的使用方法。首先詳細討論mcc編譯命令的用法,主要是各類編譯選項的含義等;在此基礎上以示例的形式介紹M函數(shù)文件的完整編譯過程,第節(jié)介紹了含繪圖指令的M文件編譯。19.3.1mcc編譯指令mcc編譯指令是MATLABCompiler提供給用戶進行應用程序發(fā)布的一組命令行工具,用戶通過設置不同的開關選項完成各種不同的應用程序發(fā)布任務。下面分別給出了MATLABCompiler4和MATLABCompiler3兩個版本的mcc使用方法。19.3.2M文件編譯前面的一小節(jié)對mcc的使用進行了概要式的介紹,本小節(jié)及下一小節(jié)通過兩個例子分別討論M文件和含繪圖指令的M文件的編譯過程,目的是熟悉mcc的使用方法。19.4由M文件創(chuàng)建獨立可執(zhí)行應用程序第19.3節(jié)的兩個示例已經(jīng)詳細討論了如何利用MATLABCompiler生成獨立可執(zhí)行的應用程序,這兩個例子中的M函數(shù)文件都是具有輸入?yún)?shù)的函數(shù)文件,一般很少將具有參數(shù)的M文件直接轉(zhuǎn)換為獨立可執(zhí)行應用程序,而是另外編寫一個不含參數(shù)的M文

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論