本文章直接主要针对MATLAB+C混合编程的实现,并行编程直接采用C+Openmp实现,MATLAB调用mex文件即可实现混编,Python+C+Openmp混合思路类似,不多叙述。
因为采用Openmp实现并行编程,题主推荐直接采用code::blocks进行C编程,vs的对Openmp支持不完整。
注意确认自己的matlab版本兼容的编译器
2018后的MATLAB支持快速下载配置mingw,在主页-附加功能-获取附加功能中搜索mingw然后点击上图所示的安装,登录mathworks账号即可,MATLAB将自动完成所有配置工作,非常方便。
完成配置后,还需要确认mingw的安装路径,为后续库文件调用做好准备,一般来说,采用附加功能安装的mingw路径都在C盘
题主的安装路径如下
C:\ProgramData\MATLAB\SupportPackages\R2020b\3P.instrset\mingw_w64.instrset\lib\gcc\x86_64-w64-mingw32\6.3.0
很多人会纠结mex文件的编译命令,题主这里给出openmp的编译指令
mex C:\ProgramData\MATLAB\SupportPackages\R2020b\3P.instrset\mingw_w64.instrset\lib\gcc\x86_64-w64-mingw32\6.3.0\libgomp.a CXXFLAGS="$CXXFLAGS -std=c++11 -fopenmp" main.cpp
这里题主的电脑是win10,其他操作系统还请在mathworks上自己搜索相关的教程