MATLAB 編譯器的使用

2022-08-13 19:09:15 字數 2473 閱讀 6875

matlab 編譯器的使用

matlab 編譯器(相應命令為 mcc)可生成獨立應用程式、庫、com 物件、excel 外掛程式,

218 matlab 實用教程

它根據目標型別生成合適的包裝器檔案。包裝器檔案包含編譯後的應用程式和可執行物件類

型之間的介面,具有下面一些功能。

z 完成包裝器指定的初始化和終止執行工作。

z 定義包含路徑資訊、加密密匙和 matlab 元件執行時(mcr)所需其他資訊的陣列。

z 提供傳遞介面函式。

matlab 編譯器生成的元件技術檔案(ctf)與最後生成的目標型別(可執行程式或庫)是

獨立的,包裝器檔案提供了與目標型別的必要介面。

1.環境配置

mcc 命令具有將 m 檔案編譯生成 exe 檔案或 cpp 檔案等許多編譯功能,使用 mcc 命令之

前必須進行環境配置。mbuild 是 matlab 提供的常見編譯命令,在命令視窗輸入命令「mbuild

- setup」完成配置,配置時第乙個問題可選「n」,編譯器可選用「microsoft visual c/c++ version

6.0」。mex 的配置將在 11.5 節中講述。

2.mbuild 命令

使用命令 mbuild 可對已有 c 檔案或 c++檔案進行編譯,編譯生成的 obj 檔案可直接雙擊運

行。比如,要對檔案 good.c 和 good.cpp 進行編譯,可在命令視窗分別輸入命令「mbuild – c good.c」

和「mbuild – c good.cpp」。

3.mcc 命令

使用 mcc 命令可生成獨立可執行檔案或 c 共享庫。比如,根據檔案 file1.m 和 file2.m 生

成獨立可執行檔案使用命令「mcc – m file1.m file2.m」,而根據檔案 file1.m 和 file2.m 生成 c

共享庫使用命令「mcc – l file1.m file2.m」。其他命令可參閱 matlab 自帶的幫助文件。

4.使用例項

下面結合例子說明獨立應用程式的生成方法。

(1)編輯 m 檔案

用 matlab 程式編輯繪圖程式 mytest.m,**如下。

function mytest() % 定義函式

x=[0,1470,2205,2940,3675,4410,5145,5880,6615,7350];

%定義變數 x(靜載曲線橫座標)為一維陣列並賦值

y=[0.00,1.13,1.98,2.95,4.12,5.63,7.26,9.15,11.43,14.23];

%定義變數 y(靜載曲線縱座標)為一維陣列並賦值

plot(x,y,'*',x,y,'k-') %繪製曲線,星號顯示資料點

grid on; %座標分格線

axis ij;

% 定義座標原點左上角,橫座標值向右增大,縱座標值向下增大

xlabel('荷載(kn)'); % 定義 x 軸名

ylabel('位移(mm)'); % 定義y軸名

title('荷載-位移曲線'); % 定義圖名

axis square; % 圖形設定為方形

axis on; % 顯示座標軸上標記、格線和單位標誌

uiwait(msgbox('靜載曲線繪製完畢')); % 彈出訊息對話視窗

close

將 mytest.m 檔案儲存在指定目錄(如 e:\matlab_example\mytest),同時,將工作目錄選

為該目錄。在命令視窗執行命令「mcc -m mytest.m」後,將新增資料夾 mytest_mcr 及

mytest_mcc_component_data.c、mytest_main.c、mytest.ctf、mytest.exe 等相關檔案。

第 11 章 編譯器與外部介面 219

(2)測試應用程式

執行上述 mytest.exe 檔案,彈出執行結果,如圖 11-1 所示。

圖 11-1 應用程式執行結果

(3)分發應用

matlab 編譯器生成的獨立應用程式可分發到其他機器(目標機器)執行(兩台機器的

作業系統必須相同),操作步驟如下。

þ 執行命令buildmcr,生成matlab元件執行時(mcr)庫文件,mcrinstaller.zip將保

存在/toolbox/compiler/deploy/win32 目錄下(為matlab7 安

裝目錄,下同),該目錄下還有檔案mcrinstaller.exe和unzip。

þ 將下列檔案打包並分發到目標機器指定目錄:mcrinstaller.zip(linux下mcr庫文

檔)、mcrinstaller.exe(windows下自解壓mcr庫工具)、unzip(linux下檔案

mcrinstaller.zip解壓工具)、mytest.ctf(元件技術檔案)、mytest.exe

GCC編譯器的使用

看下面的例子 test.c include main char str i like linux i advices you jion in the linux world printf s n str exit 0 使用gcc編譯 輸入gcc c test.c得到目標檔案test.o。c命令表示對...

GCC編譯器的使用

看下面的例子 test.c include main char str i like linux i advices you jion in the linux world printf s n str exit 0 使用gcc編譯 輸入gcc c test.c得到目標檔案test.o。c命令表示對...

GCC編譯器的使用

看下面的例子 test.c include main char str i like linux i advices you jion in the linux world printf s n str exit 0 使用gcc編譯 輸入gcc c test.c得到目標檔案test.o。c命令表示對...