C++和MATLAB混合编程(二)

2013-11-20 14:24:29 · 作者: · 浏览: 265

 

   中Lcc是MATLAB自带的编译器,但是只能编译C文件,所以我们使用 VS2010的编译器。这样编译环境就配置好了

  之后便可编译你的头文件。如我的头文件是plotdata.m

  mcc -W lib:plotdata plotdata.m -T link:lib

  mcc -W lib:plotdata plotdata.m -T link:lib

  mcc是编译为C接口的动态链接库。-W lib是将plotdata.m编译为名为plotdata的动态链接库。

  另一种使用csharedlib捆绑命令也是等价的:

  mcc -B csharedlib:plotdata plotdata.m

  mcc -B csharedlib:plotdata plotdata.m

  编译后在你m文件的目录下会生成一堆文件:

  mccExcludedFiles.log记录的是不能被matlab编译的文件。但是我打开貌似每一行的信息都是一样的,还木有看懂……

  然后如果用隐式动态链接的话,需要把plotdata.c,plotdata.h,plotdata.lib以及plotdata.dll都放到你的工程下。

  如果你要显式加载动态链接库,只要plotdata.dll就可以了。