VC和Matlab的集成

 

Matlab R2008a为例讲述VCMatlab的集成方法:

1. 如何集成

Matlab自带的mcc命令将Matlab源程序编译成库文件:

mcc –l 生成libdll文件(用来集成)

mcc –m 生成exe文件(可直接运行)

-l参数生成的文件需要使用到其中的3个,分别是:

.h 头文件

.lib 静态链接库

.dll 动态链接库

Matalb中的一些库函数不支持mcc命令,可先用-m参数生成exe文件进行测试,以确保集成的程序可以正常运行。

 

2. 如何处理Matlab的输出

Matlab程序在命令行窗口中的输出可以进行重定向。编写新的输出处理函数(包括打印信息和错误信息),以取代Matlab默认的处理函数,然后将该函数传递给编译得到的初始化函数XXXInitializeWithHandler,该函数的原型为:

<libname>InitializeWithHandler(

    mclOutputHandlerFcn err_handler,

    mclOutputHandlerFcn print_hander

);

默认的输出函数原型为:

static int mclDefaultPrintHandler(const char *s); // s为需要处理的字符串, 返回处理的字符数

static int mclDefualtErrorHandler(const char *s); // 同上

 

3. 函数的调用顺序(structures of program that calls shard libraries

1) mclInitializeApplication

2) <libname>Initialize OR <libname>InitializeWithHandler

3) mlf<Libname>

4) <libname>Terminate

5) mclTerminateApplication

1)和5)是Matlab提供的库函数,其余为mcc命令生成的函数。

 

4. 程序发布

若想集成的程序能够在没有安装Matlab的机器上运行,需要安装相应的Matlab Compiler Runtime。安装程序位于:

%MATLAB%/R2008a/toolbox/compiler/deploy/win32/MCRInstaller.exe

%MATLAB%是你的Matlab安装位置。

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值