|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1 引言
Q! d# F4 w8 H; i+ n g9 ]
4 o8 d1 o* Y/ a4 j. U3 W- i7 j6 l: eMatlab 是当前应用最为广泛的数学软件,具有强大的数值计算、数据分析处理、系统 分析、图形显示甚至符号运算等功能[1]。利用这一完整的数学平台,用户可以快速实现十分 复杂的功能,极大地提高工程分析计算的效率[2][3]。但与其他高级程序[3]相比,Matlab 程序 是一种解释执行程序,不用编译等预处理,程序运行速度较慢[4]。7 M6 F X9 ~! u2 a) E6 j8 [
3 c/ b3 V* p( p+ n9 c: l
C/C++语言是目前最为流行的高级程序设计语言之一[5]。它可对操作系统和应用程序以 及硬件进行直接操作,用C/C++语言明显优于其它解释型高级语言,一些大型应用软件如 Matlab 就是用C 语言开发的。: f2 p. ]0 ~4 s& y- | J- _
在工程实践中,用户经常遇到Matlab 与C/C++混合编程的问题。本文基于Matlab 6.5和VC6.0 开发环境,在Windows 平台下就它们之间的混合编程问题进行深入研究并举例说明。& }8 c6 w: ~' W) W8 [
2 T9 g$ Z$ E( L2 \" ~% V# g$ j" H- p
2 Matlab 调用C/C++
0 U j. O/ s8 v( u3 S
0 ^" ~/ E# ^& G! V* [. UMatlab 调用C/C++的方式主要有两种:利用MEX 技术和调用C/C++动态连接库。% W9 `- ~. H6 u4 q& x/ |+ m" D: R
, M, i3 w- { a# A K! p在Matlab 与C/C++混合编程之前,必须先对Matlab 的编译应用程序mex 和编译器mbuild进行正确的设置[1]:2 d5 X5 @8 }2 ?, \/ Q
对Matlab 编译应用程序mex 的设置:Mex –setup.
5 i, u1 y. ]3 o( Q9 ]/ S/ r* |( J* i% Q对Matlab 编译器mbuild 的设置:Mbuild –setup.
7 {% N2 T/ h1 D j7 u2 L6 Z8 z8 q. f
" c T4 A- T- O" y |
|