Запуск MATLAB® сессия Engine от вашей программы C++ синхронно или асинхронно. Чтобы начать сеанс, используйте одну из этих служебных функций, которые определены в matlab::engine пространство имен:
matlab::engine::startMATLAB - Запуск сеанса работы с MATLAB синхронно.
matlab::engine::startMATLABAsync - Запуск сеанса работы с MATLAB асинхронно.
Для получения информации о том, как настроить и создать программы C++ engine, смотрите Сборка программ C++ Engine.
Запустите MATLAB с C++ синхронно. startMATLAB возвращает уникальный указатель на MATLABEngine образец.
#include "MatlabEngine.hpp"
void startMLSession() {
using namespace matlab::engine;
// Start MATLAB engine synchronously
std::unique_ptr<MATLABEngine> matlabPtr = startMATLAB();
}Запустите MATLAB с C++ асинхронно. Использование FutureResult::get чтобы получить уникальный указатель на MATLABEngine образец, который возвращается startMATLABAsync.
#include "MatlabEngine.hpp"
void startMLSessionAsync() {
using namespace matlab::engine;
// Start MATLAB engine asynchronously
FutureResult<std::unique_ptr<MATLABEngine>> matlabFuture = startMATLABAsync();
std::unique_ptr<MATLABEngine> matlabPtr = matlabFuture.get();
}Можно начать сеанс работы с MATLAB с помощью поддерживаемых опций запуска MATLAB. Для получения информации об опциях запуска MATLAB, см. «Обычно используемые опции запуска». Для получения информации об опциях запуска, поддерживаемых двигателем, смотрите matlab::engine::MATLABEngine.
Этот пример кода запускает MATLAB с помощью -r и matlab.engine.ShareEngine опции. Создать вектор, содержащий каждую опцию в качестве элемента в векторе.
#include "MatlabEngine.hpp"
void startMLOptions() {
using namespace matlab::engine;
// Start MATLAB with -r option
std::vector<String> optionVec;
optionVec.push_back(u"-r");
optionVec.push_back(u"matlab.engine.shareEngine");
std::unique_ptr<MATLABEngine> matlabPtr = startMATLAB(optionVec);
}matlab::engine::startMATLAB | matlab::engine::startMATLABAsync