Механизм создания одинакового кода оболочки на всех платформах
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, которые формируют уровень разработки для всех Mac OS X.
Как правило, функция, на которую указывает run_main возвращает с указателем (возвращаемым значением) код, который его вызвал. При использовании какао на Macintosh, однако, когда функция указывает на run_main возвращает, MATLAB Runtime вызывает выход, прежде чем возвращаемое значение может быть получено приложением, из-за невозможности базового кода получить контроль, когда Cocoa выключен.
Внимание
Использовать не следует mclRunMain если приложение создает собственную полную графическую среду.
Примечание
В средах, отличных от Macintosh, mclRunMain действует как обертка и не выполняет какой-либо существенной обработки.
|
Имя функции, выполняемой после кода настройки среды выполнения MATLAB. |
|
Число передаваемых аргументов |
|
Указатель на массив символьных указателей. Обычно, |
Вызов с использованием этой базовой структуры:
int returncode = 0;
mclInitializeApplication(NULL,0);
returncode = mclRunMain((mclmainFcn)
my_main_function,0,NULL);