主要内容

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

使用 MATLAB® Data API 将打包的 MATLAB 函数集成到 C++ 应用程序中

在这种方法中,您先使用 MATLAB Compiler SDK™ 中的功能来生成包含 MATLAB 函数的代码存档(.ctf 文件),以及建立 MATLAB 数据类型与 C++ 数据类型之间映射的头文件(.hpp 文件)。然后,将它们集成到您的 C++ 应用程序中。

使用 MATLAB Compiler SDK API for C++ 作为 C++ 应用程序与包含部署的 MATLAB 函数的代码存档之间的接口。使用 MATLAB Data API 处理 C++ 应用程序与部署的 MATLAB 函数之间的数据交换。有关数据交换的详细信息,请参阅 MATLAB Data API for C++

为了确保这是适合您的正确方法,请参阅选择 C++ 部署选项

必须在运行 C++ 应用程序的计算机上安装并设置 MATLAB Runtime。有关详细信息,请参阅下载并安装 MATLAB Runtime

App

C++ 共享库编译器MATLAB 程序打包为 C++ 共享库以供部署 (自 R2025a 起)

函数

compiler.build.cppSharedLibrary创建 C++ 共享库 (自 R2021a 起)
compiler.build.CppSharedLibraryOptions构建 C++ 共享库的选项 (自 R2021a 起)
compiler.build.Results编译器编译结果对象
mbuild结合 MATLAB 生成的共享库编译并链接源代码文件
mcc编译要部署的 MATLAB 函数

C/C++ API

matlab::cpplib::initMATLABApplication启动 MATLAB Runtime 并初始化其应用程序状态
matlab::cpplib::runMain在主函数中使用输入参量执行函数
matlab::cpplib::convertUTF8StringToUTF16String将 UTF-8 字符串转换为 UTF-16 字符串
matlab::cpplib::convertUTF16StringToUTF8String将 UTF-16 字符串转换为 UTF-8 字符串
matlab::cpplib::initMATLABLibrary初始化可部署存档文件中打包的 MATLAB 函数库
matlab::cpplib::initMATLABLibraryAsync异步初始化 MATLAB 函数库
matlab::cpplib::MATLABLibrary::feval从可部署存档中执行 MATLAB 函数
matlab::cpplib::MATLABLibrary::fevalAsync从可部署存档异步执行 MATLAB 函数
matlab::cpplib::MATLABLibrary::waitForFiguresToClose等待所有图窗关闭

主题

要求

创建和集成

数据类型映射和示例生成

更多代码示例

维护

  • 内存管理和清理
    查看有关内存管理的建议。
  • 了解 mclmcrrt 代理层
    MATLAB Compiler™MATLAB Compiler SDK 生成的所有应用程序和软件组件仅需链接到一个 MATLAB 库 mclmcrrt。该库为 MATLAB 库中用于矩阵运算、MAT 文件访问、实用工具和内存管理以及应用程序 MATLAB Runtime 的所有公共函数提供了代理 API。mclmcrrt 库位于已部署的 MATLAB 代码和这些其他版本相关的库之间,提供以下功能:
  • 排除 mbuild 故障
    涉及 mbuild 实用工具和创建独立应用程序的问题。