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 Особенно полезно в окружениях Macintosh OS X, где цикл запуска должен быть создан для правильной операции MATLAB Runtime.

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

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

Внимание

Вы не должны использовать 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