⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mathtools593.txt

📁 C++ interface
💻 TXT
字号:
发信人: FangQ (木头虫子), 信区: MathTools 
标  题: Matlab与C++接口与混合编程讨论小结(四) 
发信站: BBS 水木清华站 (Tue Nov  2 22:26:44 1999) 
  
  
第二章、 
第二节、用c编写mex程序[一] 
发信人: fasiondog (乱了), 信区: MathTools 
标  题: 用c 编写mex程序[part 2] (转信) 
发信站: 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。 
存为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:\ 
TEST\(注意,仅将C:\TEST\加入搜索路径是没有用的)。现在敲: 
  mex hello.c 
  如果一切顺利,编译应该在出现编译器提示信息后正常退出。如果你已将C:\TEST\加 
入了搜索路径,现在键入hello,程序会在屏幕上打出一行: 
hello,world! 
  看看C\TEST\目录下,你会发现多了一个文件:HELLO.DLL。 
  这样,第一个mex函数就算完成了。怎么样,很简单吧。下一次,会对这个最简单的程 
序进行分析,并给它增加一些功能。 
-- 
  
      这   是   最   后   的   斗   争 
      THIS   IS   THE  FINAL  CONFLICT 

  
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.115.15.64] 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -