mclRunMain

Механизм для создания идентичного кода обертки через все платформы

Резюме

typedef int (*mclMainFcnType)(int, const char **);

int mclRunMain(mclMainFcnType run_main,
               int argc,
               const char **argv)

Описание

Когда необходимо предоставить код обертки при создавании приложения, которое использует C, или C++ совместно использовал библиотеку, созданную MATLAB® Compiler SDK™, mclRunMain включает вам с механизмом для создания идентичного кода обертки через все среды платформы MATLAB Compiler SDK.

mclRunMain особенно полезен в средах OS X Macintosh, где цикл выполнения должен быть создан для правильной операции MATLAB Runtime.

Когда Mac OS X запускается, цикл запускается, если mclInitializeApplication задает -nojvm, или опция -nodisplay, создавая цикл выполнения является прямым процессом. В противном случае необходимо создать среду Какао. Среды Какао состоят из библиотек, API и MATLAB Runtime, которые формируют слой разработки для всего Mac OS X.

Обычно функция, на которую указывает run_main, возвращается с указателем (возвращаемое значение) к коду, который вызвал его. При использовании Какао на Macintosh, однако, когда функция, на которую указывает run_main, возвращается, выход вызовов MATLAB Runtime, прежде чем возвращаемое значение может быть получено приложением, из-за неспособности базового кода получить контроль, когда Какао закрывается.

Внимание

Вы не должны использовать mclRunMain, если ваше приложение поднимает свою собственную полную графическую среду.

Примечание

В средах не-Macintosh mclRunMain действует как обертка и не выполняет значительной обработки.

Параметры

run_main

Имя функции, чтобы выполниться после кода настройки MATLAB Runtime.

argc

Количество аргументов передается функции run_main. Обычно, argc получен приложением в его функции main.

argv

Указатель на массив символьных указателей. Обычно, argv получен приложением в его функции main.

Примеры

Вызов с помощью этой базовой структуры:

int returncode = 0;
mclInitializeApplication(NULL,0); 
returncode = mclRunMain((mclmainFcn)
                   my_main_function,0,NULL);

Смотрите также

Представленный в R2010b