Запустите 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::runMain
| matlab::cpplib::convertUTF8StringToUTF16String
| matlab::cpplib::convertUTF16StringToUTF8String
| matlab::cpplib::initMATLABLibrary
| matlab::cpplib::initMATLABLibraryAsync
| matlab::cpplib::MATLABLibrary::feval
| matlab::cpplib::MATLABLibrary::fevalAsync
| matlab::cpplib::MATLABLibrary::waitForFiguresToClose