matlab::cpplib::runMain
関数をその入力引数を使用して main 関数内で実行
説明
int runMain(std::function<int(std::shared_ptr<MatlabApplication> func, int, const char**)>std::shared_ptr<MatlabApplication>&& app, int argc, const char **argv);
関数をその入力引数を使用して main 関数内で実行します。matlab.cpplib.runMain
は、実行する関数、MATLABApplication
のインスタンス、および実行する関数への入力を入力として受け入れます。実行の成功または失敗を示すコードを出力として返します。
この関数は、基本関数のロジックを main()
のロジックと分けるために任意のプラットフォームで使用できます。macOS では、Cocoa API の要件も満たします。
パラメーター
std::function<int(std::shared_ptr<MATLABApplication>, int, const char**)> func | 3 つのパラメーター ( |
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); }
バージョン履歴
R2018a で導入
参考
matlab::cpplib::initMATLABApplication
| matlab::cpplib::convertUTF8StringToUTF16String
| matlab::cpplib::convertUTF16StringToUTF8String
| matlab::cpplib::initMATLABLibrary
| matlab::cpplib::initMATLABLibraryAsync
| matlab::cpplib::MATLABLibrary::feval
| matlab::cpplib::MATLABLibrary::fevalAsync
| matlab::cpplib::MATLABLibrary::waitForFiguresToClose