主要内容

matlab: cpplib:: initMATLABLibrary

初始化的库MATLAB打包在可部署归档文件中的函数

描述

std::unique_ptr initMATLABLibrary(std::shared_ptr application, const std::u16string & ctfPath)

初始化MATLAB的一个库®函数打包在可部署归档(CTF)文件中,并返回一个指向库的唯一指针。作为参数,它接受一个指向MATLABApplication实例和到CTF的路径。

可部署归档文件的路径可以是相对的,也可以是绝对的。如果路径是相对的,则按照下面指定的顺序将以下路径加到前面,直到找到文件或用尽所有可能的路径。

  • 环境变量的值CPPSHARED_BASE_CTF_PATH,如果定义

  • 工作文件夹

  • 可执行文件所在的文件夹

  • Mac:文件夹在可执行文件所在文件夹的三层之上(例如,如果可执行文件是generic_interface foo_generic.app /内容/ MacOS / foo,所使用的文件夹为generic_interface

如果找到库,则初始化它并返回指向它的指针。否则,将引发异常。

参数

std::要查看< MATLABApplication >应用程序

指针指向一个MATLABApplication对象返回initMATLABApplication

const std::u16string & ctfPath

存档路径(相对或绝对)。

返回值

std:: unique_ptr < MATLABLibrary >

指针指向一个MATLABLibrary对象,用于从库中调用函数,函数宏指令等。

异常

matlab: cpplib:: LibNotFound

在共享库路径上找不到给定名称的库。

matlab: cpplib:: LibInitErr

库无法初始化。

例子

初始化MATLABLibrary

Std::vector< Std::u16string> opts = {u"-nojvm"};auto matlabPtr = initMATLABApplication(MATLABApplicationMode::IN_PROCESS, opts);auto libstro = initMATLABLibrary(matlabPtr, convertUTF8StringToUTF16String("astro.ctf"));
介绍了R2018a