如何调试matlab调用的dll

如何调试matlab调用的dll,第1张

在Matlab的Help中搜索"Calling Functions in Shared Libraries"即可看到关于此内容的帮助文档。

下面以一个简单的小例子演示Matlab调用DLL的过程:

1、编译器准备

在Matlab的命令窗口输入:mex -setup

选择你的编译器,我的是:

[2] Microsoft Visual C++ 2008 SP1 in c:\Program Files\Microsoft Visual Studio 90

2、编写你自己的DLL

在Visual Studio 2008中新建一个Win32的Dll工程,不妨设名字为MatlabDllTest

编辑MatlabDllTestcpp:

#include "MatlabDllTesth"

double add(double x, double y)

{

return (x+y);

}

编辑MatlabDllTesth:

#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:把编译连接之后产生的MatlabDllTestdll和MatlabDllTesth文件拷贝到Matlab的当前工作目录下,输入

loadlibrary('MatlabDllTest','MatlabDllTesth');

(一定要有这步,如果dll不成功,会显示错误原因)

4、查看DLL中导出的函数

libfunctions MatlabDllTest -full

-full选项会列出导出函数的详细输入和输出参数,这是输出信息如下:

Functions in library MatlabDllTest:

double add(double, double)

5、调用函数

calllib('MatlabDllTest', 'add', 13, 46)

此时就会输出正确的结果

ans =

59000

总结:这个例子比较简单,只是为了演示整个过程,如果真的用到了Matlab来调用外部DLL的这种方式的话,就要注意DLL工程要符合Matlab的要求,详细信息请自己查看Matlab的帮助文件。

打开软件后点击File/New/Script后,会出现文件编辑窗口:

在文件编辑窗口输入代码,

检查代码,确保没有错误后点击窗口中运行(Run)按钮,运行程序(如下图红色箭头所示按钮):

查看运行结果,由于利用plot函数绘制曲线,所以运行后出现如下红色箭头所指的二次曲线:

可以在需要停止的地方加入“keyboard”,那么程序运行到这个地方时会中断,命令提示符会由>>变为K>>。此时,你可以在K>>后输入变量名或者修改变量的值。如果想继续执行代码,可以按F5键。如果想退出调试,可以在K>>后输入dbquita

=

10;keyboard;

%

在K>>后输入

"a=20;"(不要双引号),再按

F5disp(a);

%

显示20

以上就是关于如何调试matlab调用的dll全部的内容,包括:如何调试matlab调用的dll、如何编写matlab文件并运行调试、如何用vs调试matlab程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10133709.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存