matlab::cpplib::initMATLABLibrary

Инициализируйте библиотеку функций MATLAB, упакованных в развертываемом архивном файле

Описание

std::unique_ptr<MATLABLibrary> initMATLABLibrary(std::shared_ptr<MATLABApplication> application, const std::u16string & ctfPath)

Инициализируйте библиотеку MATLAB® функции, упакованные в развертываемом архиве (CTF) файл, и, возвращают уникальный указатель на библиотеку. Как параметры, это берет разделяемый указатель на MATLABApplication экземпляр и путь к CTF.

Путь к развертываемому архиву является или относительным или абсолютным. Если путь относителен, следующие пути предварительно ожидаются в порядке, заданном ниже, пока файл не найден, или все возможности исчерпываются.

  • значение переменной окружения CPPSHARED_BASE_CTF_PATH, если задано

  • рабочая папка

  • папка, где исполняемый файл расположен

  • на Mac: папка три уровня выше папки, где исполняемый файл расположен (например, если исполняемым файлом является generic_interface/foo_generic.app/Contents/MacOS/foo, используемой папкой является generic_interface)

Если библиотека найдена, она инициализируется, и указатель на нее возвращен. В противном случае исключение выдается.

Параметры

std::shared_ptr<MATLABApplication> application

Указатель на MATLABApplication объект возвращен в initMATLABApplication.

const std::u16string & ctfPath

Путь (относительный или абсолютный), чтобы заархивировать.

Возвращаемое значение

std::unique_ptr<MATLABLibrary>

Указатель на MATLABLibrary объект, который используется, чтобы вызвать функции от библиотеки, feval и т.д.

Исключения

matlab::cpplib::LibNotFound

Никакая библиотека с именем не найдена на разделяемом пути к библиотеке.

matlab::cpplib::LibInitErr

Библиотека не может быть инициализирована.

Примеры

Инициализируйте MATLABLibrary

std::vector<std::u16string> opts = {u"-nojvm"};
auto matlabPtr = initMATLABApplication(MATLABApplicationMode::IN_PROCESS, opts);
auto libAstro = initMATLABLibrary(matlabPtr, convertUTF8StringToUTF16String("astro.ctf"));
Введенный в R2018a