|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1 引言
) B' F1 x& r% t
+ g- Y, {) ?4 W. v# PMatlab 是当前应用最为广泛的数学软件,具有强大的数值计算、数据分析处理、系统 分析、图形显示甚至符号运算等功能[1]。利用这一完整的数学平台,用户可以快速实现十分 复杂的功能,极大地提高工程分析计算的效率[2][3]。但与其他高级程序[3]相比,Matlab 程序 是一种解释执行程序,不用编译等预处理,程序运行速度较慢[4]。
7 H' d" w% h3 t% V; u% e R% R* L* ?1 q- z# c+ Y6 ?8 p# f8 X
C/C++语言是目前最为流行的高级程序设计语言之一[5]。它可对操作系统和应用程序以 及硬件进行直接操作,用C/C++语言明显优于其它解释型高级语言,一些大型应用软件如 Matlab 就是用C 语言开发的。
: W) |, y1 x* J" q在工程实践中,用户经常遇到Matlab 与C/C++混合编程的问题。本文基于Matlab 6.5和VC6.0 开发环境,在Windows 平台下就它们之间的混合编程问题进行深入研究并举例说明。) G6 y* @+ ^! c7 h
+ y. S$ T/ J( s7 ?$ Q$ j( O2 Matlab 调用C/C++
, y( U& r7 c& i# t
/ A. N, l+ q2 ~) n7 ? d# YMatlab 调用C/C++的方式主要有两种:利用MEX 技术和调用C/C++动态连接库。
& r& T) U8 j( b! U
1 a3 h$ X# p: J W在Matlab 与C/C++混合编程之前,必须先对Matlab 的编译应用程序mex 和编译器mbuild进行正确的设置[1]:
|" w- [. b* F, i; v4 J对Matlab 编译应用程序mex 的设置:Mex –setup." k, l, O0 v# C
对Matlab 编译器mbuild 的设置:Mbuild –setup.
" ^1 v- _1 t; n. M' ^
5 p7 v% ?/ P' ^0 u$ n |
|