Инициализируйте библиотеку функции MATLAB асинхронно
FutureResult<std::shared_ptr<MATLABLib>> initMATLABLibraryAsync(MATLABApplication & application, const std::u16string & ctfPath)
Инициализируйте библиотеку MATLAB® асинхронно, чтобы получить указатель на свежеинициализированную общую библиотеку C++ после завершения инициализации.
MATLABApplication & application | Объект приложения MATLAB, возвращенный из |
const std::u16string & ctfPath | Имя библиотеки. Если путь опущен, он принимается в текущей папке. Для получения информации о том, как использовать |
| A |
| В пути к общей библиотеке не найдена библиотека с заданным именем. |
matlab::cpplib::LibInitErr | Не удается инициализировать библиотеку. |
MATLABLibrary
Асинхронно и подождите, пока он не инициализируетсяauto future = mc::initMatlabLibraryAsync(matlabApplication, mc::convertUTF8StringToUTF16String("libdoubleasync.ctf")); if (!future.valid()) { throw std::future_error(std::future_errc::no_state); } std::future_status status; do { status = future.wait_for(std::chrono::milliseconds(200)); if (status == std::future_status::timeout) { std::cout << "Library initialization is in progress.\n"; } else if (status == std::future_status::ready) { std::cout << "Library initialization has completed.\n"; } std::this_thread::sleep_for(std::chrono::seconds(1)); } while (status != std::future_status::ready); auto lib = future.get();
matlab::cpplib::convertUTF16StringToUTF8String
| matlab::cpplib::convertUTF8StringToUTF16String
| matlab::cpplib::initMATLABApplication
| matlab::cpplib::initMATLABLibrary
| matlab::cpplib::MATLABLibrary::feval
| matlab::cpplib::MATLABLibrary::fevalAsync
| matlab::cpplib::MATLABLibrary::waitForFiguresToClose
| matlab::cpplib::runMain