Выполните функцию с ее входными параметрами в основной функции
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