作者曾经实现过将 matlab 函数编译成 dll 供 Cpp 调用,这篇文章的目的是对新增的面向对象
的的扩展 mwArray 进行讲解,matlab 很容易和 C/C++联合起来使用。
以前做过 matlab7 与 c++的混合编程:将 matlab 函数编译成 dll 给 C++调用,从而加快开发
的进度。但是今天在 matlab2008b 下面又做了一遍,发现 matlab 又改了很多东西,诸如增
加了面向对象的的扩展 mwArray,于是做笔记如下。
(一) 总体概念
matlab 提供了丰富的程序接口,除了 matlab 最初的版本是用 fortran 写的之外,后来的版本
都是用 C 写的,因此 matlab 很容易和 C/C++联合起来使用。
matlab 有着丰富的库函数,将这些库函数直接编译成 dll(windows 下是 dll,linux 下是类似
于 dll 的另外一个东西),给 C 调用,可以加快工程进度。
步骤如下:
1. 设置 matlab 的编译器,使用外部的 VC 或者 gcc 等编译器。
2. 编译 m 文件成 dll
3. 设置 VC 等的继承环境,设置 C 需要用到的静态库和动态库
4. 编写 C 调用 dll
下面以一个很简单的加法函数为例,说明在 VC6 和 matlab2008b 下,怎么做混合编程
(二) 设置 matlab 编译器
过程如下:
1. 在 matlab 的 command window 里面敲入 mex –setup,matlab 会列出所有电脑上所有的
编译器。
2. 选择编译器,这里选择 2,即 VC6
3.完成之后,敲入 mbuild –setup,选择 build 工具,matlab 会列出所有的 build 工具,同