龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VC开发 >

精通VC与MATLAB联合编程――编译器的使用[组图](2)

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
3、在MATLAB打开文本编辑器(File-New-M-file)写一个简单的m函数: function y=huatu_test()x=-10:0.1:10;y=sin(x);plot(x,y,*)文件保存为huatu_test.m。 4、在MATLAB命令窗口用如下命

3、在MATLAB打开文本编辑器(File->New->M-file)写一个简单的m函数:

function y=huatu_test()x=-10:0.1:10;y=sin(x);plot(x,y,''*'')文件保存为huatu_test.m。

4、在MATLAB命令窗口用如下命令生成dll文件和调用dll所需要的文件:
mcc -t -W libhg:dlltest -T link:lib -h libmmfile.mlib huatu_test.m   生成的文件将会保存在当前目录下,默认的当前目录为:MATLAB根目录work,找到dlltest.h 、dlltest.lib和dlltest.dll文件,这三个文件是我们需要的。

5、在VC中新建一个名为ceshi基于对话框的工程,在工程中添加一个名为"测试"的button按钮。将dlltest.h 、dlltest.lib和dlltest.dll文件拷贝到当前工程目录下,并通过Project->Add To Project->Files 选择拷贝到当前目录下的三个文件,将文件引入工程。

6、在ceshiDlg.cpp文件中添加头文件dlltest.h
#include "dlltest.h"打开dlltest.h文件,里面有有关函数的定义,找到其中三个函数:
extern mxArray * mlfHuatu_test(void);extern void dlltestInitialize(void);extern void dlltestTerminate(void);  从函数意思不难知道它们的作用,dlltestInitialize用来初始化dll库,dlltestTerminate用来结束调用dll,mlfHuatu_test为主程序执行函数。将三个函数拷贝到button响应代码中,进行修改:
void CCeshiDlg::OnButton1() { dlltestInitialize(); mlfHuatu_test(); dlltestTerminate();}编译、执行程序,点击结果如图3:


图3

精彩图集

赞助商链接