一、将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
至于如何使用还在研究中