|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1 引言 `7 {' K0 q8 d: `
, n- ]0 e; h: g7 D
Matlab 是当前应用最为广泛的数学软件,具有强大的数值计算、数据分析处理、系统 分析、图形显示甚至符号运算等功能[1]。利用这一完整的数学平台,用户可以快速实现十分 复杂的功能,极大地提高工程分析计算的效率[2][3]。但与其他高级程序[3]相比,Matlab 程序 是一种解释执行程序,不用编译等预处理,程序运行速度较慢[4]。
a$ H4 P9 | o! k9 M" q- G
; q0 B& y0 @$ [; V# R2 U$ cC/C++语言是目前最为流行的高级程序设计语言之一[5]。它可对操作系统和应用程序以 及硬件进行直接操作,用C/C++语言明显优于其它解释型高级语言,一些大型应用软件如 Matlab 就是用C 语言开发的。
/ W6 p+ o- {' s7 c* L8 G" x4 l在工程实践中,用户经常遇到Matlab 与C/C++混合编程的问题。本文基于Matlab 6.5和VC6.0 开发环境,在Windows 平台下就它们之间的混合编程问题进行深入研究并举例说明。
' w- O5 v1 C) U
' S9 h i7 `& j& `0 l A1 n2 Matlab 调用C/C++7 c1 p- t: H9 r+ V: u
) W9 s" I5 {% m9 F: J% R! [- H7 _Matlab 调用C/C++的方式主要有两种:利用MEX 技术和调用C/C++动态连接库。( @% Y; Q8 W5 ? T
4 c4 f8 c3 i& X; e1 U, C5 q
在Matlab 与C/C++混合编程之前,必须先对Matlab 的编译应用程序mex 和编译器mbuild进行正确的设置[1]:) f, z& j7 F( }; x/ p7 S) L
对Matlab 编译应用程序mex 的设置:Mex –setup.
}& ?: P. s! S' h+ x6 O/ y对Matlab 编译器mbuild 的设置:Mbuild –setup.
- r+ _7 {; _1 r0 o- e: l0 \0 u9 H
w8 b- u4 F( o, u, u9 W2 Y |
|