主要内容

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

将 C++ 共享库与 MATLAB Data API 集成

使用通用接口创建 C++ 共享库的工作流

要创建使用 MATLAB® Data API 的 C++ 共享库:

  1. 使用 C++ 共享库编译器compiler.build.cppSharedLibrary 函数将 MATLAB 代码打包到存档 (.ctf) 文件中。选择 MATLAB 数据接口。

  2. 使用通用接口编写 C++ 代码。

  3. 将驱动代码与 MATLAB Runtime 提供的头文件链接起来。

  4. 运行您的应用程序。

有关此工作流的示例,请参阅生成 C++ MATLAB Data API 共享库并编译 C++ 应用程序

使用通用接口编写 C++ 代码

使用 C++共享库通用接口的基本工作流如下:

  • 调用自由函数 initMATLABApplication,该函数可选地采用运行时选项向量,例如 -nojvm-logfile。该函数返回一个 shared_ptr

  • 初始化 matlab::data::ArrayFactory,使用它来生成传递给函数调用 matlab::data::Array 对象。

  • 对于初始化的每个库,调用 initMATLABLibrary,它接受两个参数:

    • initMATLABApplication 返回的 shared_ptr 的副本

    • 存档路径(.ctf 文件)

  • 要调用初始化库中的函数,请在 feval 返回的 fevalAsync 上调用 unique_ptrinitMATLABLibrary。每个版本都有几个重载版本。它们都将 MATLAB 函数的名称作为第一个参数。但是,它们在接受和返回单个 matlab::data::Array 对象、matlab::data::Array 或本机类型方面有所不同。返回本机类型的形式必须将该类型作为模板参数。

  • 要终止一个库,请在其 unique_ptr 上调用 reset,或允许它超出范围。

  • 要终止应用程序,请在其 shared_ptr 上调用 reset,或允许其超出范围。直到在其下创建的所有库都终止或超出范围时,它才会终止。

有关使用 C++ MATLAB 数据数组 API 的示例代码,请参阅位于 matrix_mda.cppmatlabroot\extern\examples\compilersdk\c_cpp\matrix

 matrix_mda.cpp

另请参阅

主题