MATLAB Compiler 可將 .m 檔轉換為 C、C++、P 碼等原始碼,並依需求產生可執行檔、靜態庫、動態連結庫 (DLL) 或 S-function。MATLAB 6.5 內建的編譯器包含 C/C++ 數學庫與圖形庫。DLL 是軟體開發常用技術,本文示範在 MATLAB 6.5 中將 .m 檔編譯為 DLL 並在 VC 中呼叫。
因編譯器使用 C/C++ 庫,需先執行:
mex -setup
mbuild -setup
依提示選擇 VC 編譯器,若已設定可略過。
參考《聯合程式設計 (六)》,依 MATLAB 實際安裝路徑設定:

圖 1

圖 2
huatu_test.mfunction y = huatu_test()
x = -10:0.1:10;
y = sin(x);
plot(x, y, '*')
> mcc -t -W libhg:dlltest -T link:lib -h libmmfile.mlib huatu_test.m
於當前目錄 (預設 MATLAB\work) 產生檔案,需取 dlltest.h、dlltest.lib、dlltest.dll。
ceshi加入「測試」按鈕,複製上述三檔到專案目錄並加入專案。
在 ceshiDlg.cpp 加入 #include "dlltest.h",打開該檔可見函數宣告:
extern mxArray * mlfHuatu_test(void);
extern void dlltestInitialize(void);
extern void dlltestTerminate(void);
按鈕回應:
void CCeshiDlg::OnButton1()
{
dlltestInitialize();
mlfHuatu_test();
dlltestTerminate();
}

圖 3
mcc -B sgl myfun — 產生 C 程式碼與使用 C 圖形庫的可執行檔mcc -B sglcpp myfun — 產生 C++ 程式碼與使用 C++ 圖形庫的可執行檔mcc -t -W main -L C -T link:exe -h libmmfile.mlib myfun — 產生可執行 C 程式 (等同 mcc -m myfun)詳細參數請查閱 MATLAB 說明文件。
bin 資料夾複製到專案目錄。