matlab转换成vc,如何将matlab65函数转换成vc++60动态链接库.doc

41528d3028836879cd698677c3999917.gif如何将matlab65函数转换成vc++60动态链接库.doc

1如何将Matlab6.5函数转换成VC++6.0动态链接库1、编写Matlab函数函数文件sum_prod.m,内容如下:function[sum,prod]=sum_prod(p1,p2)sum=p1+p2;%p1与p2的和prod=p1.*p2;%p1与p2的点乘该函数完成的是矩阵的求和与点乘的功能,下面将介绍把该代码转换成C++环境可用的代码的方法。2、Matlab6.5编译器设置(1)在同一台电脑上安装Matlab6.5和VisualC++6.0;(2)mex命令设置(a)运行Matlab,在Matlab的命令窗口(CommandWindow)键入“mex-setup”命令后,按回车键,安装Matlab编译器;(b)命令窗口出现如下提示:Pleasechooseyourcompilerforbuildingexternalinterface(MEX)files:Wouldyoulikemextolocateinstalledcompilers[y]/n?此时键入”y”,按回车;(c)命令窗口出现如下提示:Pleasechooseyourcompilerforbuildingexternalinterface(MEX)files:Wouldyoulikemextolocateinstalledcompilers[y]/n?ySelectacompiler:[1]DigitalVisualFortranversion6.0inC:\ProgramFiles\MicrosoftVisualStudio[2]LccCversion2.4inC:\MATLAB6P5\sys\lcc[3]MicrosoftVisualC/C++version6.0inC:\ProgramFiles\MicrosoftVisualStudio[0]None此时键入”3”,按回车;选择MicrosoftVisualC++6.0的编译器(d)命令窗口出现如下提示:Pleaseverifyyourchoices:Compiler:MicrosoftVisualC/C++6.0Location:C:\ProgramFiles\MicrosoftVisualStudioArethesecorrect?([y]/n):此时键入”y”,按回车;确认选择MicrosoftVisualC++6.0的编译器(3)mbuild命令设置(a)运行Matlab,在Matlab的命令窗口(CommandWindow)键入“mbuild-setup”命令后,按回车键,安装Matlab编译器;(b)命令窗口出现如下提示:PleasechooseyourcompilerforbuildingstandaloneMATLABapplications:Wouldyoulikembuildtolocateinstalledcompilers[y]/n?此时键入”y”,按回车;(c)命令窗口出现如下提示:2[1]LccCversion2.4inC:\MATLAB6P5\sys\lcc[2]MicrosoftVisualC/C++version6.0inC:\ProgramFiles\MicrosoftVisualStudio[0]None此时键入”2”,按回车;选择MicrosoftVisualC++6.0的编译器(d)命令窗口出现如下提示:Pleaseverifyyourchoices:Compiler:MicrosoftVisualC/C++6.0Location:C:\ProgramFiles\MicrosoftVisualStudioArethesecorrect?([y]/n):此时键入”y”,按回车;确认选择MicrosoftVisualC++6.0的编译器(4)在Matlab的命令窗口(CommandWindow)键入“cd(prefdir);mccsavepathprefdir;”启动MATLABadd-in工具条3、建立MFC动态链接工程(1)建立一个名为Sample的MFC动态链接工程,如下图所示,其它选项按默认设置。(2)在Sample目录下会生成Sample.cpp和Sample.h这两个文件。4、启用MatlabAdd-in工具条在上面的VC工程中,在菜单栏的空白处右键单击鼠标,出现如下菜单3点击Coustomize…菜单项,出现如下Coustomize对话框,选择Add-inandMacroFiles标签,选中MATLABAdd-in选项,点Close按钮关闭对话框,这里会在菜单附近出现如下工具条,它就是MatlabAdd-in工具条。5、VC++6.0环境及工程设置在上面的VC工程中,进行以下设置(1)VC++6.0环境设置单击菜单Tools,出现如下菜单4单击Options…菜单项,出现Options对话框,选择Directories标签,在includefiles里面加入:C:\MATLAB6P5\EXTERN\INCLUDEC:\MATLAB6P5\EXTERN\INCLUDE\CPP如下图所示在Libraryfiles里面加入:C:\MATLAB6P5\EXTERN\LIBC:\MATLAB6P5\EXTERN\LIB\WIN32C:\MATLAB6P5\EXTERN\LIB\WIN32\MICROSOFT\MSVC60如下图所示5(2)VC++6.0工程设置单击菜单Project,出现如下菜单单击Setting…菜单项,出现ProjectSetting对话框,选择Link标签,在Object/librarymodules:下面的文本框内容的后面加入libmmfile.liblibmatlb.liblibmx.liblibmat.liblibmatpm.libsgl.liblibmwsglm.liblibmwservices.lib,如下图所示6选择C/C++标签,在Prerocessordefinitions:下面的文本框内容的后面加入,MSVC,IBMPC,MSWIND,如下图所示设置完成。76、Matlab到C++的代码转换在上面的VC工程中(1)将前面sum_prod.m文件复制到该Sample工程所在的目录下(2)单击MatlabAdd-in工具条最左边第一个按钮,出现如下对话框选中WindowsConsole四个选择选中后二项,如上图所示,单击OK,出现如下对话框选中Matlab函数文件sum_prod.m,单击“打开”按钮,这样在该工程所在的目录就生成了sum_prod.cpp和sum_prod.hpp文件。(3)打开sum_prod.cpp文件,注意到里面有这样一个函数mwArraysum_prod(mwArray*prod,mwArrayp1,mwArrayp2){…}可以看到在C++环境中,sum_prod也是一个函数,它的输入与输出数据类型是mwArray,它是VC6.0专门为Matlab中的矩阵对象定义的一个类。函数sum_prod有三个输入参数和一个输出参数。由于C++函数不能有一个以上的返回值,因此这里将Matlab函

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值