Запустите 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 | Режим, в котором можно запустить приложение:
|
const std::vector<std::u16string>& options | Опции запуска раньше запускали MATLAB Runtime. Они включают:
|
| Указатель на |
| Функции не удалось запуститься. |
std::shared_ptr<MATLABApplication> appPtr = initMATLABApplication(MATLABApplicationMode::IN_PROCESS);
std::vector<std::string> opts = {"-nojvm"};
std::shared_ptr<MATLABApplication> appPtr = initMATLABApplication(MATLABApplicationMode::OUT_OF_PROCESS, opts);
std::vector<std::u16string> opts = {u"-logfile",
u"C:\\somepath\\matlab_app.log"};
std::shared_ptr<MATLABApplication> appPtr = initMATLABApplication(MATLABApplicationMode::IN_PROCESS, opts);
matlab::cpplib::MATLABLibrary::feval | matlab::cpplib::MATLABLibrary::fevalAsync | matlab::cpplib::MATLABLibrary::waitForFiguresToClose | matlab::cpplib::convertUTF16StringToUTF8String | matlab::cpplib::convertUTF8StringToUTF16String | matlab::cpplib::initMATLABLibrary | matlab::cpplib::initMATLABLibraryAsync | matlab::cpplib::runMain