n_table = { { “testplot”, mlxTestplot, 0, 0, &_local_function_table_testplot } };
static _mexcppInitTermTableEntry init_term_table = { { InitializeModule_testplot, TerminateModule_testplot } };
static _mexcpp_information _main_info = { 1, 1, function_table, 0, NULL, 0, NULL, 1, init_term_table };
可以看到没有添加一句C/C++代码,即生成了一个Matlab的Standalone应用程序(是不是太容易啦)。需要注意两点: 一是添加到MSVC工程的文件应当为一个函数文件,而不能是一个Script文件,否则会出现错误提示; 二是最好不要修改生成的C/C++代码,如果需要改动,可以通过在MSVC工作区中直接修改M文件(无须在Matlab环境中),重新编译即可。你可以通过在M文件中设置断点,在运行中通过Matrix Viewer观察Matlab变量的值。
目前通过Add-in实现Matlab与VC的混合编程也有一定的不足:如目前并不支持所有的Matlab的函数;生成的程序代码有些繁杂等。估计Matlab 6.0以后的版本在这方面肯定有所改进的。
结 论
Matlab Add-in提供了一种实现Matlab和VC混合编程的直接集成的途径,通过它可以很方便地生成Matlab和VC的混合程序。在图像处理等需要大量计算的工程应用场合有广泛的应用价值。