主要内容

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

MATLAB Compiler SDK C++ API 摘要

MATLAB® Compiler SDK™ 提供了两种在 C++ 中部署 MATLAB 函数的方法。每个部署选项都有一组支持部署的 C++ API。您可以:

  • 使用 MATLAB Data API (C++11) 部署到 C++ 应用程序

    • 应用程序界面:MATLAB Compiler SDK C++ API 有两个选项:

      • 通用接口(自 R2018a 起)

      • 强类型接口 (自 R2021b 起)

    • 数据接口:MATLAB Data API (C++11)

  • 使用 mwArray API (C++03) 部署到 C++ 应用程序

    • 应用程序界面:MATLABCompiler SDK C++ API

    • 数据接口:mwArray API

使用 MATLAB Data API (C++11) 部署到 C++ 应用程序

通用接口(自 R2018a 起)

  • 在这种方法中,您可以创建一个包含 MATLAB 函数的代码存档(.ctf 文件)并将其部署在 C++ 应用程序中。

  • 您可以使用 MATLAB Compiler SDK API for C++ 作为 C++ 应用程序与包含已部署 MATLAB 函数的代码存档之间的接口。

  • 您使用 MATLAB Data API 来处理 C++ 应用程序和已部署的 MATLAB 函数之间的数据交换。MATLAB Data API 提供了 mwArray API 所不具备的现代 C++11 功能,后者仅使用 C++03 功能。具体来说,MATLAB Data API 允许在可能的情况下移动数据而不是复制数据,自动管理资源清理,并最大限度地减少复制操作的次数。这种高效的数据处理增强了 C++ 应用程序和部署的 MATLAB 函数之间的交换。

强类型接口(自 R2021b 起)

  • 在这种方法中,您创建一个包含 MATLAB 函数的代码存档(.ctf 文件),并生成相应的头文件(.hpp 文件),以建立 C++ 和 MATLAB 数据类型之间的预定义映射。您可以在 C++ 应用程序中部署这些工件。

  • 该接口允许您定义一个契约,指定 MATLAB 如何解释和管理 C++ 数据类型。要创建此契约,您可以使用 MATLAB 函数中的 arguments 模块,或 MATLAB 类中的 propertiesarguments 模块的组合。例如,如果您的 C++ 应用程序采用表示实标量值的 uint32 数据类型,则可以在 MATLAB 代码中将其定义为 (1,1) uint32 {mustBeReal}

  • 此外,C++ 命名空间、类和公共方法与 MATLAB 对应部分保持一致,保持一致的命名,并且无需中间顶级函数。

注意

至于部署过程,部署到强类型接口与部署到通用接口的过程非常相似。唯一的区别在于部署的 MATLAB 函数 - 它需要修改才能反映 C++ 类型的 MATLAB 等效。

使用 mwArray API (C++03) 部署到 C++ 应用程序

在这种方法中,您基于要部署的 MATLAB 函数创建 C++ 共享库和头文件。使用较早期的 MATLAB Compiler SDK API for C++ 作为 C++ 应用程序与部署的 MATLAB 函数之间的接口。使用 mwArray API 处理 C++ 应用程序与部署的 MATLAB 函数之间的数据交换。mwArray API 使用 C++03 构造。

另请参阅

主题