MATLAB 部署工具(Deployment Tool)的使用——MATLAB与C#混合编程

本文介绍了如何使用MATLAB的Deployment Tool将MATLAB算法打包成.NET Framework程序集,以便与C#混合编程。详细阐述了从设置MATLAB Compiler到在Visual Studio中整合项目的步骤,包括添加、配置文件,处理MWArray引用以及解决初始化异常问题。
摘要由CSDN通过智能技术生成

MATLAB 部署工具(Deployment Tool)的使用

MATLAB与C#混合编程

对于许多开发者而言,借助MATLAB提供的丰富的矩阵运算,实现需求算法,相比于纯手工实现底层算法具有较高的效率和较好的鲁棒性。但由于MATLAB需要借助自身的mcr运行时(runtime)才能在未安装有MATLAB的用户机上正常使用,这给许多开发者带来很多困扰,且通常在执行效率上也比原生代码实现的算法要低一些。如果能忍受MATLAB的上述问题,开发者则通常会把有GUI界面的MATLAB程序打包成应用程序分发给用户使用,或纯算法的MATLAB程序打包成库文件,供各类高级语言调用,实现多语言混合编程(互操作)。本文将以生成动态库为例,描述Deploy工具的使用过程和注意事项。

mcr运行时路径可以从安装目录下寻找,也可以前往官方网站搜索。
本地路径位于:
32位:X:\Program Files\MATLAB\R2018b\toolbox\compiler\deploy\win32
64位:X:\Program Files\MATLAB\R2018b\toolbox\compiler\deploy\win64
官网下载渠道:
https://www.mathworks.com/products/compiler/matlab-runtime.html

操作方法

首先,在MATLAB中完成核心算法的开发工作,经测试无误后,在命令行窗口输入:

>> deploytool

弹出MATLAB Compiler 对话框。
MATLAB Compiler 对话框
选择Libary Complier。

Libary Complier
以生成.NET Framework 程序集为例,步骤如下:
1.在TYPE类型选项Tab页的列表框中,选择 .NET Assembly
2.点击右侧加号,添加你需要导出的函数文件;
3.选择 Runtime download from web 运行时从网页下载;
4.点击设置Setting按钮,设置额外的参数为“-C”(注意大写,至于为何设置后面会提及,检查输出路径后确认即可。

在这里插入图片描述

Option Description Comment
-c Generate C wrapper code. Equivalent to -T codegen
-C Direct mcc to not embed the deployable archive in generated binaries.
-d directory Place output in specified folder.

更详细的选项参数说明可以点击右上角帮助按钮。

5.在主窗口中,设置库文件名称等一系列属性,在命令空间和类名中,根据自己需求进行设置;

在这里插入图片描述

6.在主窗口中,设置库文件名称等一系列属性,在命令空间和类名中,根据自己需求进行设置;
7.确认各信息无误后,点击右上角的Package按钮进行打包,等待打包结束;
在这里插入图片描述
8.完成后,弹出输出的文件夹窗口,找到\MyLibary\for_testing路径下的扩展名为.ctf的文件;
9.再找到\MyLibary\for_testing路径下的MyClass源文件(即与自己定义的类名一致);
10.将上述两个文件拷贝到新建的一个空文件夹下备用;
11.打开Visual Studio集成开发环境,新建.NET Framework类

  • 1
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值