exponenta event banner

matlab:: cpplib:: runMain

Выполнение функции с входными аргументами в пределах основной функции

Описание

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::function экземпляр, который принимает три параметра (а именно указатель на MATLABApplication объект, int представляет количество входных аргументов и const char** представляет сами входные аргументы) и возвращает int.

std::shared_ptr<MATLABApplication>&& app

Экземпляр MATLABApplication, передано как rvalue.

int argc

Число входных аргументов из командной строки.

const char **argv

Массив входных аргументов.

Возвращаемое значение

int

Код возврата, указывающий на успех (по соглашению: 0) или отказ (по соглашению, ненулевое число).

Примеры

Переместить 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);
  }
Представлен в R2018a