基于ole的VC和matlab混合编程方法
2007-03-17 21:25:13 来源:WEB开发网头文件:
d:MATLAB6p5externinclude;
库:
d:MATLAB6p5externlibwin32microsoftmsvc60;
DLL:
d:MATLAB6p5inwin32
3. 做一个简单的M函数(只能是函数不能是文件)。文件名和函数名一致。运行并测试此文件的正确性。
function [out]=arraytest(A)
out=det(A);
B=[A(1,1),A(1,2),A(2,1),A(2,2)]%本来是plot(A),刚开始没能把数据传递好,做了个B阵,做测试用的,
%因为com做好了,就没有改了,要不有很多垃圾
plot(B);
4. 在命令窗口敲comtool,出现com组件builder。选择FILE选项->New Project选项。出现以下界面。
Component name选项:设置com组件的名称,注意不要和上面添加的m文件重名。
Class name选项:设置类名称MyArraytest。一般将鼠标点击空白位置,系统会自动生成类名。
Project version选项:版本号。系统默认为1.0,将来要修改或添加其他函数时,可以修改此选项为2.0,3.0等。
Project directory选项:工程所在目录。
Complier options选项:编译器配置选项,全部选中。
最后单击OK。系统会出现对话框,问你是否创立工程目录,你选YES。
5. 单击Project Files->plotclass->M-files,然后选中comtool菜单Project->Add File选项,添加上面写好的plot_test M函数,当然,可以按需要添加更多的M或MEX函数。
6. 单击Build按钮,选中Com Object选项,这时com-builder会帮你自动编译连接该组件,生成所需要的头文件,源文件,接口描述文件,动态连接库文件,等等。在右侧Build Status显示框里给出了编译的过程和信息。在菜单Component->Component Info里有关于接口、类、库的信息。在d:MATLAB6p5workMyarraytest文件夹里,出现了两个子文件夹,distrib和src,这是我们VC中需要用到的文件、库、资源、接口等。在srcplot_idl_i.c中,有关于com类和com接口的GUID。其中CLSID(类的GUID)在VC编程中需要用到。别急,还有一步打包发布。选择Component->Package Component,系统就会自己帮你打包了。打包文件在distrib文件夹中有Myarraytest可执行文件。拷贝d:MATLAB6p5workMyarraytest文件夹下所有文件,在另外一个机器上,双击Myarraytest可执行程序,注册com组件,。你的程序,就可以在其他机器上执行了。
更多精彩
赞助商链接