Выполнение функции с входными аргументами в пределах основной функции
int runMain(std::function<int(std::shared_ptr<MatlabApplication>, int, const char**)>std::shared_ptr<MatlabApplication>&& appsession, int argc, const char **argv);
Выполните функцию с входными аргументами в пределах основной функции. matlab.cpplib.runMain принимает в качестве входных данных функцию, которую вы хотите выполнить, экземпляр MATLABApplicationи входные данные функции, которую требуется выполнить. Он возвращает в качестве вывода код, указывающий на успех или неудачу выполнения.
Эта функция используется специально на macOS для выполнения требований Cocoa API. Он также может использоваться на платформах Windows ® и Linux ®.
std::function<int(std::shared_ptr<MATLABApplication>, int, const char**)> func | A |
std::shared_ptr<MATLABApplication>&& app | Экземпляр |
int argc | Число входных аргументов из командной строки. |
const char **argv | Массив входных аргументов. |
| Код возврата, указывающий на успех (по соглашению: |
MATLABApplication Объект в runMain и завершить егоint myMainFunc(std::shared_ptr<mc::MATLABApplication> app,
const int argc, const char * argv[])
{
try {
// initialize library, call feval, etc.
} catch(const std::exception & exc) {
std::cerr << exc.what() << std::endl;
return -1;
}
return 0; // no error
}
int main(const int argc, const char * argv[])
{
std::vector<std::u16string> options ;
auto matlabApplication = mc::initMATLABApplication(
mc::MATLABApplicationMode::IN_PROCESS,options);
return mc::runMain(myMainFunc, std::move(matlabApplication), argc, argv);
}
matlab::cpplib::convertUTF16StringToUTF8String | matlab::cpplib::convertUTF8StringToUTF16String | matlab::cpplib::initMATLABApplication | matlab::cpplib::initMATLABLibrary | matlab::cpplib::initMATLABLibraryAsync | matlab::cpplib::MATLABLibrary::feval | matlab::cpplib::MATLABLibrary::fevalAsync | matlab::cpplib::MATLABLibrary::waitForFiguresToClose