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