主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

mclRunMain

在所有平台上创建相同包装器代码的机制

大纲

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

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

说明

由于您在创建使用由 MATLAB® Compiler SDK™ 创建的 C 或 C++ 共享库的应用程序时需要提供包装器代码,因此 mclRunMain 为您提供了一种在所有 MATLAB Compiler SDK 平台环境中创建相同包装器代码的机制。

mclRunMainMacintosh OS X 环境中尤其有用,因为在该环境中必须创建运行循环才能正确执行 MATLAB Runtime 操作。

当启动 Mac OS X 运行循环时,如果 mclInitializeApplication 指定了 -nojvm-nodisplay 选项,则创建运行循环是一个简单的过程。否则,您必须创建一个 Cocoa 框架。Cocoa 框架由库、API 和 MATLAB Runtime 组成,它们构成了所有 Mac OS X 的开发层。

通常,run_main 指向的函数会返回一个指向调用它的代码的指针(返回值)。在使用 Cocoa 的 Macintosh 计算机上,当 run_main 函数完成执行并返回一个值时,MATLAB Runtime 会立即退出。这种突然终止会导致应用程序无法捕获返回值,因为基本代码失去了控制 Cocoa 关闭过程的能力。

小心

如果您的应用程序自带了完整的图形环境,则不应使用 mclRunMain

注意

在非 Macintosh 环境中,mclRunMain 充当包装器并且不执行任何重要处理。

参数

run_main

MATLAB Runtime 设置代码后执行的函数名称。

argc

传递给 run_main 函数的参量数量。通常,应用程序在其 main 函数中接收 argc

argv

指向字符指针数组的指针。通常,应用程序在其 main 函数中接收 argv

示例

使用这个基本结构调用:

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

版本历史记录

在 R2010b 中推出