主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

比较 MWArray 和用于远程程序集的本机 .NET API

跨托管 (.NET) 和非托管 (MATLAB®) 代码边界编组和格式化数据的两个数据转换 API 是 MWArray 和本机 .NET API。每种 API 都有其优点、局限性以及最适合的特定应用。

MWArray API 由 MWArray 类和几种映射到 MATLAB 数据类型的派生类型组成,是自 MATLAB Compiler SDK™ 推出以来一直使用的标准 API。它为所有基本 MATLAB 数据类型(包括稀疏数组、结构和元胞数组)提供完整的编组和格式化服务。该 API 要求目标计算机上安装 MATLAB Runtime,因为它使用了几个原始的 MATLAB 函数。有关使用此 API 的信息,请参阅使用 MWArray API 访问可远程访问的 .NET 程序集

Native API 是专门为支持 .NET 远程处理而设计的(尽管并非唯一)。它允许您在调用已部署的 MATLAB 函数时使用标准 .NET 类型传递参量并返回值。这里仍然使用数据编组,但是在客户端代码中并不明确。此功能对于使用本机接口 API 访问远程组件的客户端特别有用,因为它不需要客户端计算机安装 MATLAB Runtime。此外,由于此 API 仅使用本机 .NET 类型,因此无需学习一组新的数据转换类的语义。该 API 不直接支持 MATLAB 结构和元胞数组类型的 .NET 类似物。有关使用此 API 的信息,请参阅使用原生 .NET API 访问可远程访问的 .NET 程序集:幻方

MWArray API 与原生 .NET API 相比的功能

 MWArray API本机 .NET API
所有基本 MATLAB 类型的编组/格式化X 
使用标准 .NET 类型传递参量并返回值 X
无需安装 MATLAB 即可从客户端访问远程组件 X
无需安装 MATLAB Runtime 即可从客户端访问远程组件(请参阅使用原生 .NET API 访问可远程访问的 .NET 程序集:元胞与结构体)。 X

使用本机 .NET 结构和元胞数组

MATLAB Compiler SDK 原生 .NET API 接受标准 .NET 数据类型作为 MATLAB 函数调用的输入和输出。

这些标准 .NET 数据类型由 Object 类(所有 .NET 数据类型的基类)包装。只要 MATLAB 函数具有数字、逻辑或字符串输入或输出,这种对象表示就足够了。它不适用于 MATLAB 数据类型,例如结构体 (struct) 和元胞数组,因为这些数组类型的本机表示会导致难以理解或处理的多维 Object 数组。相反,MATLAB Compiler SDK 为结构和元胞数组表示提供了一个特殊的类层次结构,旨在轻松与本机 .NET API 交互。有关详细信息,请参阅使用原生 .NET API 访问可远程访问的 .NET 程序集:元胞与结构体

另请参阅

主题