|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1 引言
, ~: x1 Y3 c. l7 o* T9 |, f( O( D v( R- t+ ?2 `! @
Matlab 是当前应用最为广泛的数学软件,具有强大的数值计算、数据分析处理、系统 分析、图形显示甚至符号运算等功能[1]。利用这一完整的数学平台,用户可以快速实现十分 复杂的功能,极大地提高工程分析计算的效率[2][3]。但与其他高级程序[3]相比,Matlab 程序 是一种解释执行程序,不用编译等预处理,程序运行速度较慢[4]。
: d- v1 R9 d% d8 A
: O: D9 t8 _& Q% Z( Q7 `- NC/C++语言是目前最为流行的高级程序设计语言之一[5]。它可对操作系统和应用程序以 及硬件进行直接操作,用C/C++语言明显优于其它解释型高级语言,一些大型应用软件如 Matlab 就是用C 语言开发的。0 \6 s2 e$ \# s4 ~
在工程实践中,用户经常遇到Matlab 与C/C++混合编程的问题。本文基于Matlab 6.5和VC6.0 开发环境,在Windows 平台下就它们之间的混合编程问题进行深入研究并举例说明。
; |# w* X% N9 ]) G3 ~% m8 N6 F
' C+ g& k& u2 l" {1 N( F7 E0 y2 Matlab 调用C/C++. [# |" @5 n0 }7 W7 o
c* g. E/ \2 k9 ]. o! OMatlab 调用C/C++的方式主要有两种:利用MEX 技术和调用C/C++动态连接库。* o, B( y) n9 O% `- B7 J d* V3 j
* y1 a' r3 b5 M' o3 z
在Matlab 与C/C++混合编程之前,必须先对Matlab 的编译应用程序mex 和编译器mbuild进行正确的设置[1]:6 q! w" S; O9 N/ W8 Z' Z9 d
对Matlab 编译应用程序mex 的设置:Mex –setup.# M% g/ A2 J4 I
对Matlab 编译器mbuild 的设置:Mbuild –setup.* e, f; ]3 c* ^ K% }9 t
& Y% V# I" b( j% {! E, } |
|