声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

声振论坛 展示 科学计算 matlab 查看内容

Matlab与C++接口与混合编程讨论小结

2015-10-29 00:33| 发布者: aspen| 查看: 4350| 评论: 1|原作者: AaronSpark|来自: 声振论坛

摘要: Matlab与C++接口与混合编程讨论小结 一章、概述  Matlab是当今世界上使用最为广泛的数学软件,它具有相当强大的数值计算、 数据处理、 系统分析、图形显示,甚至符号运算功能,是一个完整的数学平 台,在这 ...
用c编写mex程序[一]

   前面说到通过把耗时长的函数用c语言实现,并编译成mex函数可以加快执行速度。这
Matlab5.1本身是不带c语言的编译器的,所以要求你的机器上已经安装有VC,BC或Wat com C中
的一种。如果你在安装Matlab时已经设置过编译器,那么现在你应该就可以使用 mex命令来编
译c语言的程序了。如果当时没有选,只要在Matlab里键入 mex -setup ,就会出现一个DOS方
式窗口,下面只要根据提示一步步设置就可以了。由于我用的是w 听说Matlab5.2已经内置了
C语言的编译器,那么下面的这些可能就用不着了。可惜现 需要注意的是,在设置编译器路径
时,只能使用路径名称的8字符形式。比如我用的V C5装在路径 C:\PROGRAM FILES\DEVSTUDI
O下,那在设置路径时就要写成:C:\PROGRA~1 这样设置完之后,mex就可以执行了。为了测试
你的路径设置正确与否,把下面的程序 存为hello.c。 存为hello.c。

  #include "mex.h" void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const
mxArray *prhs[]) { mexPrintf("hello,world!\n"); } 假设你把hello.c放在了C:\TEST\下
,在Matlab里用CD C:\TEST\ 将当前目录改为C:\ 需要注意的是,在设置编译器路径时,只能
使用路径名称的8字符形式。比如我用的V C5装在路径 C:\PROGRAM FILES\DEVSTUDIO下,那在
设置路径时就要写成:C:\PROGRA~1 这样设置完之后,mex就可以执行了。为了测试你的路径
设置正确与否,把下面的程序 存为hello.c。 #include "mex.h" void mexFunction(int nl
hs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { mexPrintf("hello,world!\n
"); } 假设你把hello.c放在了C:\TEST\下,在Matlab里用CD C:\TEST\ 将当前目录改为C:\
TEST\(注意,仅将C:\TEST\加入搜索路径是没有用的)。现在敲: mex hello.c 如果一切顺
利,编译应该在出现编译器提示信息后正常退出。如果你已将C:\TEST\加 入了搜索路径,现
在键入hello,程序会在屏幕上打出一行: hello,world! 看看C\TEST\目录下,你会发现多了
一个文件:HELLO.DLL。 这样,第一个mex函数就算完成了。怎么样,很简单吧。下一次,会
对这个最简单的程 序进行分析,并给它增加一些功能。

发表评论

最新评论

引用 afly 2006-3-28 19:40
请问版主有没有有关vc++6.0调用mcc产生的库函数(matlab7.1环境下)的具体步骤啊?在这个matlab7 .1版本下有关这个方面的资料太少了,谢谢了!

查看全部评论(1)

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2025-4-11 21:45 , Processed in 0.057967 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部