Matlab和Visual C++的混合编程(2)

时间:2025-02-24

Matlab和Visual C++的混合编程

3) engGetArray,从Matlab engine中获得一个Matlab矩阵,用于数据交换

4) engEvalString,执行一个Matlab命令

5) engPutArray,从应用程序向Matlab engine发送一个Matlab矩阵,用于数据交换

6) engOutputBuffer,作用是创建字符缓冲区以获取Matlab文本输出

运用Matlab engine和Visual C++集成开发步骤如下:

1) 导入相应的库。Visual C++要调用Malab engine,就需要相应的库文件,在Matlab安装目录下\extern\include\下有如下文件:libeng.def、libmx.def、libmat.def和matlab.def等,在DOS命令提示符下执行命令生成相应的库文件。生成lib的命令如下:

lib /def:libeng.def /out:libeng.lib /machine:ix86

生成了libeng.lib、libmx.lib、libmat.lib和matlab.lib之后,把它们加入到Visual C++工程的Project->Setting->link->Object/Library Modules文本框中。

2) 编写m文件。根据我们需要的图像处理功能编写m函数或者脚本。

3) Visual C++界面设计。

4) 把m文件加入到Visual C++工程中,在调用engine的文件中加入 #include “engine.h”,在CMainFrame的构造函数中加入如下代码:

Engine *ep;

if( !( ep = engOpen( NULL) ) )

{

fprint( stderr, “\nCan’t start Matlab engine\n”);

return EXIT_FAILURE;

}

在析构函数中加入engClose( ep );,在相应的菜单相应函数中加入类似 engEvalString( ep, “surf( peaks )” );等执行Matlab语句的代码。

以上就运用Matlab engine在Visual C++工程里面执行matlab的语句或者m文件,这一方法不能脱离Matlab的后台运行,要求运行这种程序的用户的计算机都装上一个庞大的Matlab,所以这样的结合方式不能用于商业用途和推广。

2.2 Matlab Add-in

Matlab 6.0以后版本对其Compiler作了较大的改进,改进之一是其Matlab Add-in提供了一个Matlab和Visual C++直接集成的途径。它可以快速集成m文件到C++工程中,创建独立的 C/C++应用程序或C MEX DLL;可以通过m文件创建共享库或MEX文件;可以内含Visual Matrix Viewer,调试过程中可以查看矩阵变量的值;直接修改m源文件而不是修改生成的C/C++文件;可以方便快捷地打包应用程序。

Matlab Add-in的安装:

1) 启动Matlab,运行“mex -setup”,按照菜单提示选取Microsoft Visual C++。它将其配置MEX使用Microsoft Visual C++为默认的编译器(创建C-MEX文件必需),并安装Matlab Add-in所需文件到Microsoft Visual C++目录。

2) 在Matlab环境下运行“mbuild -setup”, 按提示选取Microsoft Visual C++。它将配置使用Microsoft Visual C++为默认的编译器(创建独立应用程序必需),并安装Matlab Add-in所需的Matlab Compiler和C/C++数学库文件到Microsoft Visual C++目录。

3) 在Matlab环境下运行“cd(prefdir)”和“mccsavepath”。它将保存当前Matlab路径到mccpath文件中,这是因为Matlab Add-in脱离Matlab运行,否则它无从知道Matlab路径。

4) 在Microsoft Visual C++环境中配置Matlab Add-in,方法如下:从菜单“Tools-> Customize”选择“Add-ins and Macro Files”选项卡,选中“Matlab Add-in”, 点击“Close”。 Microsoft Visual C++工具栏出现Matlab Add-in图标,以后每次启动VC,将自动加载Matlab Add-in。

5) 配置Windows系统。在Windows 95/98系统下,找到config.sys,添加一行:shell= c:\ /e:32768 /p(Windows ME有所不同,需设置Conagent.exe的属性Memory选项卡的Initial Environment值为4096)。

通过Matlab Add-in创建一个Stand-alone程序步骤:

1) 启动Visual C++,创建一个“Matlab Project Wizard”Project。

2) 点击Next,你可以选择所生成的应用程序的类型:Windows Console EXE、C-MEX

…… 此处隐藏:219字,全部文档内容请下载后查看。喜欢就下载吧 ……
Matlab和Visual C++的混合编程(2).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219