Math 版 (精华区)
发信人: ysc (bajie), 信区: Math
标 题: 用c 编写mex程序[part 2] (转信)
发信站: 哈工大紫丁香 (Sun Oct 22 09:01:33 2000), 转信
发信人: fasiondog (乱了), 信区: MathTools
发信站: BBS 水木清华站 (Sun Apr 4 10:55:56 1999)
发信人: dodoo (虚怀), 信区: Programming
标 题: 用C编写mex程序 [PART 2]
前面说到通过把耗时长的函数用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\DEVSTUDIO下,那在设置路径时就要写成:C:\PROGRA~1
这样设置完之后,mex就可以执行了。为了测试你的路径设置正确与否,把下面的程序
存为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:\
TEST\(注意,仅将C:\TEST\加入搜索路径是没有用的)。现在敲:
mex hello.c
如果一切顺利,编译应该在出现编译器提示信息后正常退出。如果你已将C:\TEST\加
入了搜索路径,现在键入hello,程序会在屏幕上打出一行:
hello,world!
看看C\TEST\目录下,你会发现多了一个文件:HELLO.DLL。
这样,第一个mex函数就算完成了。怎么样,很简单吧。下一次,会对这个最简单的程
序进行分析,并给它增加一些功能。
--
※ 来源: 心网 cag.seu.edu.cn [FROM: 202.119.30.69]
--
--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: ysc.bbs@smth.org]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.265毫秒