MATLAB.NET混合编程之一~~由MATLAB编译dll

本系列是讲述使用.net进行混合编程的开发,重点是放在.net方面,matlab的方面会有简单介绍,但不会有太长篇幅。


由matlab配合.net混合编程的第一步就是使用matlab编译出供给.net使用的dll。推荐使用Matlab Builder NE工具箱。在matlab的帮助文档中可以查找到NE的帮助文档,里面有详细的介绍,可以根据那个学习如何使用。

混合编程步骤

  1. 编写M函数
  2. 使用deploytool工具,新建deployment工程
  3. 新建vs项目,添加引用并编写代码

编写M函数

这个是matlab规定的,如果要进行混合编程,必须要编写m函数才能被混编。

注意C#是区分大小写的,所以matlab中编写m函数也必须注意采用规范的写法。

举个简单的m函数的例子:

function result=MyTest(x)
% H1 line
% this is an example of m function

%
result=x*x;
end

deploy工具使用

使用deploy工具编译dll时注意,在deployment project窗口的type选项,需要选择“.NET Assembly”选项

点击确定后出现.NET Assembly窗体中添加类和m函数所在文件,然后点击build按钮进行编译。

生成的文件

编译后一般会生成两个文件夹,src和distrib。distrib里面有四个文件,假设deployment project名为demo,distrib文件夹的四个文件为:

  • demo.dll
  • demo_overview.html
  • demoNative.dll
  • readme.txt

demo_overview.html文件中会有对于MCR的说明,比如使用R2012a编译的文件中会写明“This assembly is only compatible with version 7.17 of the MCR”

暂时src里面的文件还用不上,此处就不做介绍了,以后用到再补充,欢迎继续阅读下一篇《MATLAB.NET混合编程之二~~由C#调用MATLAB编译生成的dll》

参考资料:

  1. M函数文件
  2. Matlab中文论坛

你可能感兴趣的:(net,matlab)