|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1 引言* P U/ A `* \5 E7 Z3 C; I
/ b: E& n4 |- O, a/ a9 T
Matlab 是当前应用最为广泛的数学软件,具有强大的数值计算、数据分析处理、系统 分析、图形显示甚至符号运算等功能[1]。利用这一完整的数学平台,用户可以快速实现十分 复杂的功能,极大地提高工程分析计算的效率[2][3]。但与其他高级程序[3]相比,Matlab 程序 是一种解释执行程序,不用编译等预处理,程序运行速度较慢[4]。' \+ G4 u1 @4 m, H4 D* b& @
" f r9 i% L- d6 G# c
C/C++语言是目前最为流行的高级程序设计语言之一[5]。它可对操作系统和应用程序以 及硬件进行直接操作,用C/C++语言明显优于其它解释型高级语言,一些大型应用软件如 Matlab 就是用C 语言开发的。
/ [( L( Q1 h) T3 }+ R" `3 d4 z在工程实践中,用户经常遇到Matlab 与C/C++混合编程的问题。本文基于Matlab 6.5和VC6.0 开发环境,在Windows 平台下就它们之间的混合编程问题进行深入研究并举例说明。
, \: D ^% A# t& o5 m6 I" y# b3 @. i7 z
2 Matlab 调用C/C++! q$ ~8 G$ j8 j' ]6 {
/ _ m9 y# E% u- ^, Z3 OMatlab 调用C/C++的方式主要有两种:利用MEX 技术和调用C/C++动态连接库。
3 k' A% L, u) s6 e9 [: H5 k
. C# u6 r4 I8 N+ h. H" O, x4 Q在Matlab 与C/C++混合编程之前,必须先对Matlab 的编译应用程序mex 和编译器mbuild进行正确的设置[1]:
5 e, L! ]% o( S' E5 ]对Matlab 编译应用程序mex 的设置:Mex –setup.. t& m0 b+ A% _
对Matlab 编译器mbuild 的设置:Mbuild –setup.7 z0 Y6 i9 v7 n7 C. A2 p
; K m A2 U g1 z1 m0 ]( e
|
|