一、將m文件編譯生成可執行文件
1、依賴於gcc編譯器,保證有編譯器,進入matlab【輸入matlab】輸入【只需要配一次】
>> mex -setup
MEX 配置為使用 'gcc' 以進行 C 語言編譯。
警告: MATLAB C 和 Fortran API 已更改,現可支持
包含 2^32-1 個以上元素的 MATLAB 變量。不久以后,
您需要更新代碼以利用
新的 API。您可以在以下網址找到更多的相關信息:n http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html。
要選擇不同的語言,請從以下選項中執行一種命令:
mex -setup C++
mex -setup FORTRAN
輸入
>> mex -setup C++
2、編譯
mcc -mv my_fun_cal_safeguard_rate.m
3、生成可執行文件
my_fun_cal_safeguard_rate
run_my_fun_cal_safeguard_rate.sh
4、配置了MCR
配置MCR:https://www.cnblogs.com/judes/p/12176751.html
而這個run_xxx.sh是自動加入MCR路徑的腳本,我一直沒使用成功過,如果MCR配置好了,可直接./my_fun_cal_safeguard_rate
二、生成動態庫
1、依賴於gcc編譯器,保證有編譯器,進入matlab輸入【只需要配一次】
>> mex -setup
MEX 配置為使用 'gcc' 以進行 C 語言編譯。
警告: MATLAB C 和 Fortran API 已更改,現可支持
包含 2^32-1 個以上元素的 MATLAB 變量。不久以后,
您需要更新代碼以利用
新的 API。您可以在以下網址找到更多的相關信息:n http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html。
要選擇不同的語言,請從以下選項中執行一種命令:
mex -setup C++
mex -setup FORTRAN
輸入
>> mex -setup C++
2、將m文件編譯成動態庫
mcc -W cpplib:libmy_fun_cal_safeguard -T link:lib my_fun_cal_safeguard_rate.m
至於如何使用還在研究中