MATLAB(M 語言)功能強大但循環迭代速度遠慢於 C。需與外部環境數據、程序交互時,必須通過 MATLAB 提供的 API(應用編程接口) 實現調用 C/Fortran 程序、數據輸入輸出、建立客戶/服務器關係等。
C 語言 MEX 文件是動態連接子程序,可像調用 M 文件一樣調用。三大應用場景:
mexFunction 即可被 MATLAB 調用。mexFunction,連接 MATLAB 與計算程序的橋樑,四個參數:
nlhs:輸出數據個數plhs:指向 mxArray(MATLAB 統一數據結構)的輸出指針數組nrhs:輸入數據個數prhs:指向 mxArray 的輸入指針數組MATLAB → prhs(輸入 mxArray) → 入口程序轉換 → 計算程序處理 → 入口程序構造 plhs(輸出 mxArray) → MATLAB。圖解展示了完整調用鏈路。