主要内容

matlab::cpplib::initMATLABApplication

启动 MATLAB Runtime 并初始化其应用程序状态

描述

std::shared_ptr<MATLABApplication> initMATLABApplication(matlab::cpplib::MATLABApplicationMode mode, const std::vector<std::u16string>& options = std::vector<std::u16string>())

matlab.cpplib.initMATLABApplication 接受的输入参数是模式和可选的启动选项数组。它返回指向 MATLABApplication 对象的共享指针。该共享指针会被传递给函数 matlab::cpplib::initMATLABLibrary,该函数返回指向用户编写的库的唯一指针。然后,该唯一指针会被用于从该库中调用 MATLAB® 函数

一个进程应该只调用此方法一次。

参数

MATLABApplicationMode mode

启动应用程序的模式:

  • MATLABApplicationMode::IN_PROCESS

  • MATLABApplicationMode::OUT_OF_PROCESS

const std::vector<std::u16string>& options

用于启动 MATLAB Runtime 的启动选项。它们包括:

  • -nodisplay:在 Linux® 上启动 MATLAB Runtime 但不启用显示功能。

  • -nojvm:禁用默认启用的 Java® 虚拟机。

  • -logfile filepath:写入路径为 filepath 的日志文件。-logfilefilepath 必须指定为单独的连续参量。

返回值

std::shared_ptr<MATLABApplication>

指向封装应用程序状态的 MATLABApplication 对象的指针。

异常

matlab::cpplib::ApplicationLaunchError

函数启动失败。

示例

在进程内启动 MATLAB Runtime,使用默认运行时选项

std::shared_ptr<MATLABApplication> appPtr = initMATLABApplication(MATLABApplicationMode::IN_PROCESS);

在进程外启动 MATLAB Runtime,禁用 Java 虚拟机

std::vector<std::string> opts = {"-nojvm"};
std::shared_ptr<MATLABApplication> appPtr = initMATLABApplication(MATLABApplicationMode::OUT_OF_PROCESS, opts);

在进程内启动 MATLAB Runtime,并生成日志文件

std::vector<std::u16string> opts = {u"-logfile", 
						u"C:\\somepath\\matlab_app.log"};
std::shared_ptr<MATLABApplication> appPtr = initMATLABApplication(MATLABApplicationMode::IN_PROCESS, opts);

版本历史记录

在 R2018a 中推出