📄 mathtools590.txt
字号:
发信人: FangQ (木头虫子), 信区: MathTools
标 题: Matlab与C++接口与混合编程讨论小结(一)
发信站: BBS 水木清华站 (Tue Nov 2 22:24:43 1999)
第一章、概述
Matlab是当今世界上使用最为广泛的数学软件,它具有相当强大的数值计算、
数据处理、系统分析、图形显示,甚至符号运算功能,是一个完整的数学平
台,在这个平台上,你只需寥寥数语就可以完成十分复杂的功能,大大提高了
工程分析计算的效率。另外由于Matlab的广泛使用,于是出现了为各个领域专
门使用的工具箱(即在某一研究领域常用数学工具的函数包),这些工具箱的出现
更加促进了Matlab的流行。
Matlab强大的功能只能在它所提供的平台上才能使用,也就是说,你必需在
安装有matlab系统的机器上使用.m文件,这样就给工程计算带来了很大不便;特
别是,在matlab中,使用的行解释方式执行代码,这样大大地限制了代码执行速度。
于是人们想到,能否开发一个matlab与其他高级语言的接口,这样就可以把matlab
的强大功能融入各种应用程序中,并且通过高级语言编译器编译为2进制代码,
从而大大提高了执行速度。
于是matlab的5.1版本提供了自带的C++ Complier,同时MathTools公司也为
Matlab开发了m文件高效解释和调试IDE:MIDEVA。经过近两年的发展,matlab 5.3
中的C complier--mcc版本已经为2.0,而MIDEVA最新版本为4.5。
将matlab与C混合编程大概有如下三种方法:
1.用Matlab的mcc将.m文件翻译为cpp源文件,然后在C编译器中调用
也可以用mcc编译编译为stand-alone程序。
2.用Matcom(MIDEVA)将.m文件翻译为cpp代码,并编译为exe或dll
文件。
3.按照matcom的语法,在VC或BCB中直接书写matlab语句(与matlab
很相似),这也是我最喜欢用的方法。
方法1和2/3各有利弊,1不支持图形(支持图形的库国内现在还没有D),
1对类支持也不够,2支持绝大多数的matlab语句(包括图形),但对
于struct等的支持也有缺陷。
--
这 是 最 后 的 斗 争
THIS IS THE FINAL CONFLICT
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.115.15.64]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -