MLGetFunction (C 函数)

MLGetFunction 已经被 WSGetFunction 所取代.

int MLGetFunction(MLINK link,const char **s,int *n)

从由 link 指定的 MathLink 连接中获取一个以符号作为标头的函数,把符号的名称存在 s,函数的自变量数存在 n 中.

更多信息

  • MLGetFunction() 分配对应于函数标头名称的字符字符串内存. 必须调用 MLReleaseSymbol() 释放该内存. 如果 MLGetFunction() 失败,函数的返回值表明一个错误,不要调用有 s 内容的 WLReleaseSymbol().
  • 外部程序不应该修改字符字符串 s.
  • MLGetNext(link);MLGetArgCount(link,&n);MLGetSymbol(link,&s) 具有同样的效果.
  • MLGetFunction() 在错误事件中返回0,如果函数成功则返回非零值.
  • 如果 MLGetFunction() 失败,则使用 MLError() 检索错误代码.
  • MLGetFunction() 在 MathLink 的标头文件 mathlink.h 中被声明.

范例

基本范例  (1)

#include "mathlink.h"

/* read a Mathematica function from a link */

void f(MLINK lp)
{
    const char *f;
    int n;

    if(! MLGetFunction(lp, &f, &n))
        {
            /* unable to read the function from lp */
            return;
        }

    /* ... */

    MLReleaseSymbol(lp, f);
}