下面以一个简单的小例子演示Matlab调用DLL的过程: 1、编译器准备 在Matlab的命令窗口输入:mex -setup 选择你的编译器,我的是: [2] Microsoft Visual C++ 2008 SP1 in c:\Program Files\Microsoft Visual Studio 9.0 2、编写你自己的DLL 在Visual Studio 2008中新建一个Win32的Dll工程,不妨设名字为MatlabDllTest 编辑MatlabDllTest.cpp: #include "MatlabDllTest.h" double add(double x, double y) { return (x+y); } 编辑MatlabDllTest.h: #ifndef MATLABDLLTEST_H #define MATLABDLLTEST_H #ifdef __cplusplus extern "C" { #endif __declspec(dllexport) double add(double x, double y); #ifdef __cplusplus } #endif #endif 3、加载DLL:把编译连接之后产生的MatlabDllTest.dll和MatlabDllTest.h文件拷贝到Matlab的当前工作目录下,输入 loadlibrary('MatlabDllTest','MatlabDllTest.h'); (一定要有这步,如果dll不成功,会显示错误原因) 4、查看DLL中导出的函数 libfunctions MatlabDllTest -full -full选项会列出导出函数的详细输入和输出参数,这是输出信息如下: Functions in library MatlabDllTest: double add(double, double) 5、调用函数 calllib('MatlabDllTest', 'add', 1.3, 4.6) 此时就会输出正确的结果 ans = 5.9000 总结:这个例子比较简单,只是为了演示整个过程,如果真的用到了Matlab来调用外部DLL的这种方式的话,就要注意DLL工程要符合Matlab的要求,详细信息请自己查看Matlab的帮助文件。
matlab调c的dll库
最新推荐文章于 2022-09-02 17:22:35 发布