现在的位置: 首页 > 综合 > 正文

Matlab7.0利用mcc与VC++编程实例

2012年08月12日 ⁄ 综合 ⁄ 共 941字 ⁄ 字号 评论关闭

1、启动MATLAB7,新建m文件,输入:

function myfun(n)
t
=0:n;
y
=sin(t);
plot(y);

保存文件为:myfun.m

2Matlab Command Window 下输入命令:mcc -B csglsharedlib:mylib myfun 生成动态链接库DLLMatlab 会生成一系列文件, 其中mylib.h mylib.lib mylib.dll mylib.ctf是我们这里需要的。

3、 在VC++中使用Matlab 生成的动态链接库( *.DLL

以上面创建的TestDllApp工程为例。将mylib.h mylib.lib mylib.dll mylib.ctf文件拷贝至TestDllApp工程目录下并添加入工程。修改TestDllApp.cpp文件:

// TestDllApp.cpp : Defines the entry point for the console application.

//
#include "stdafx.h"
#include 
<stdio.h>
#include 
"mylib.h"
#include 
"mclmcr.h"

int opp(int n);
void main(int argc, char* argv[])
{
    mylibInitialize();
    
double x=64;
    mxArray 
*t;
    t
=mxCreateDoubleMatrix(1,1,mxREAL);
    memcpy(mxGetPr(t),
&x,sizeof(double));
    mlfMyfun(t);
    mxDestroyArray(t);
    mylibTerminate();
    printf(
"This is a test!\n");
    printf(
"%d\n",opp(16)); 
}

int opp(int n){
    
return n/4*4+4;
}

4通过菜单工程/设置,打开工程设置属性页,进入Link页面,在Object/library modules编辑框中,添加文件名libmx.lib libmat.lib libeng.lib

5、编译运行程序。

抱歉!评论已关闭.