本系列是讲述使用.net进行混合编程的开发,重点是放在.net方面,matlab的方面会有简单介绍,但不会有太长篇幅。
由matlab配合.net混合编程的第一步就是使用matlab编译出供给.net使用的dll。推荐使用Matlab Builder NE工具箱。在matlab的帮助文档中可以查找到NE的帮助文档,里面有详细的介绍,可以根据那个学习如何使用。
混合编程步骤
- 编写M函数
- 使用deploytool工具,新建deployment工程
- 新建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》