主要内容

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

将工件与目标语言应用程序集成

MATLAB® Compiler SDK™ 允许您打包 MATLAB 函数以便在用其他编程语言编写的应用程序中使用。有关打包和部署 MATLAB 代码的概述,请参阅使用 MATLAB Compiler 进行部署的步骤

MATLAB Compiler SDK 有多个部署目标可用。

  • .NET

  • C/C++

  • Python®

  • Java®

  • COM

  • MATLAB Production Server™

  • Docker®

满足要求并准备开发环境

在开始使用目标语言开发代码之前,您必须满足要求并设置开发环境。此准备工作涉及安装必要的软件工具,包括代码编辑器或集成开发环境 (IDE)。对于某些目标,例如 .NET 或 Java,编译器会调用相应的第三方编译器来创建工件,因此您必须设置开发环境以使用目标语言。

有关 MATLAB Compiler SDK 要求的一般信息,请参阅支持的硬件和软件。有关具体要求和开发指南,请参阅目标语言的文档。

选择 .NET 或 C++ 的 API

对于 .NET 和 C++ 应用程序,MATLAB Compiler SDK 提供了两个选项来处理应用程序和部署的 MATLAB 函数之间的数据交换。在打包 .NET 程序集或 C++ 共享库之前,您必须选择最符合工程要求的 API。

.NET 目标具有以下 API 选项。

  • MWArray API - 使用 MWArray 类作为参量和返回值的旧选项

  • MATLAB Data API - 使用 MATLAB 和目标语言数据类型之间的映射的现代选项

有关详细信息,请参阅选择 .NET 部署选项

C++ 目标具有以下 API 选项。

  • mwArray API - 使用 mxArray 类作为参量和返回值的旧选项

  • MATLAB Data API - 使用 MATLAB 和目标语言数据类型之间的映射的现代选项

有关详细信息,请参阅选择 C++ 部署选项

打包用于目标的代码

您可以使用以下选项来打包 MATLAB 代码。

  • compiler.buildcompiler.package 函数,允许您在命令行中打包 MATLAB 代码

  • 编译器 App,允许您使用图形界面打包 MATLAB 代码。

  • mcc 函数,允许您在命令行中打包 MATLAB 代码,并提供其他选项来控制打包过程

有关使用哪种封装方法的信息,请参阅选择部署选项

(可选)生成示例应用程序代码

在打包过程中,MATLAB Compiler SDK 可以生成 C++、.NET、Java 或 Python 代码,演示如何在目标语言中调用 MATLAB 导出的函数。您可以使用此示例代码来测试编译后的工件或作为实现您自己的应用程序的基础。有关详细信息,请参阅创建示例代码来调用导出函数

有关使用 MATLAB Compiler SDK 生成的应用程序代码的示例,请参阅生成 Python 包并编译 Python 应用程序

用目标语言编写应用程序代码

打包 MATLAB 代码后,将生成的文件分发到开发环境。有关要分发哪些文件的信息,请参阅将 MATLAB Compiler SDK 文件分发给应用程序开发人员。然后,使用打包的 MATLAB 功能以目标语言编写应用程序代码。

要部署到 MATLAB Production Server 或作为微服务部署到 Docker,请使用通过 HTTP 请求发送和接收数据的客户端应用程序访问打包的 MATLAB 功能。有关详细信息,请参阅您的部署目标的文档。

对于其他目标语言,应用程序代码通常使用以下结构。

  • 包括已编译的 MATLAB 工件

  • 包括头文件或其他所需库,例如 Python matlab

  • 如有必要,初始化 MATLAB Runtime

  • 使用 try-catch 代码块处理异常

  • 将已编译工件的实例初始化为对象

  • 根据需要为每个输入参量创建数据对象

  • 使用工件对象实例调用 MATLAB 函数

  • 打印任何输出

  • 终止对象实例和 MATLAB Runtime

有关具体实施细节,请参阅目标语言的文档。

部署应用程序和 MATLAB Runtime

将工件与目标语言应用程序集成并针对 MATLAB Runtime 测试应用程序代码后,将该应用程序连同所有必需的文件和依赖项一起分发到最终用户计算机进行部署。

要生成一个安装程序,该安装程序会将您编译后的工件与 MATLAB 运行时一起安装,您可以使用编译器打包您的代码,或使用 compiler.package.installercompiler.runtime.customInstaller 等函数。

默认情况下,安装程序仅包含由 MATLAB Compiler SDK 生成的文件,包括示例代码以及打包期间添加的任何其他文件。安装程序不包含任何在打包后编写的应用程序代码。某些目标(如 .NET、C++ 和 Java)要求您在构建组件后将应用程序代码编译成可执行捆绑包。为了确保最终用户能够运行可执行文件,您可以使用 compiler.package.installer 函数中的 AdditionalFiles 选项在安装程序中加入目标语言的应用程序。

作为使用安装程序的替代方法,您可以手动将生成的文件分发给最终用户。有关详细信息,请参阅将 MATLAB Compiler SDK 文件分发给应用程序开发人员。为了运行应用程序,目标计算机必须能够访问与用于编译组件的 MATLAB 版本匹配且更新级别相同或更高的 MATLAB Runtime。有关详细信息,请参阅关于 MATLAB Runtime

另请参阅

| | |

主题