MLOpenArgcArgv (C 函数)

MLOpenArgcArgv 已经被 WSOpenArgcArgv 所取代.

MLINK MLOpenArgcArgv(MLENV env,int argc,char** argv,int* errno)

打开一个 MathLink 连接,从命令行自变量中接受参数.

更多信息

  • MLInitialize() 必须在 WLOpenArgcArgv() 之前调用.
  • MLOpenArgcArgv() 处理命令行参数并使用它们控制链接的创建.
  • MLOpenArgcArgv() 识别以下命令行自变量:
  • "-linkconnect"连接至一个已存在的链接(LinkConnect
    "-linkcreate"创建一个链接(LinkCreate
    "-linklaunch"启动一个子处理(LinkLaunch
    "-linkname","name"打开链接使用的名称
    "-linkprotocol","protocol"使用的链接协议(TCPIP管道、共享内存等)
  • MLOpenArgcArgv() 对于自变量名称的大小写不敏感.
  • MLOpenArgcArgv() 忽略不被识别的自变量名称.
  • MLOpenArgcArgv() 被由 mprepmcc 创建的 MLMain() 函数自动调用.
  • 在某些计算机系统,对于 argc 设0或对 argv 设一个零指针将导致互动式要求自变量,一般通过对话框.
  • MLOpenArgcArgv() 在 MathLink 标头文件 mathlink.h 中被声明.

范例

基本范例  (1)

#include "mathlink.h"

/* create a link using command-line parameters */

int main(int argc, char **argv)
{
    MLENV env;
    MLINK link;
    int error;

    env = MLInitialize((MLEnvironmentParameter)0);
    if(env == (MLENV)0)
        { /* unable to initialize the MathLink environment */ }

    /* let MLOpenArgcArgv process the command line */
    link = MLOpenArgcArgv(env, argc, argv, &error);
    if(link == (MLINK)0 || error != MLEOK)
        { /* unable to create the link */ }

    /* ... */

    MLClose(link);
    MLDeinitialize(env);

    return 0;
}