旧バージョンの WOLFRAM言語MATHLINK C 関数

MLUserFunction
This feature is not supported on the Wolfram Cloud.

に置き換えられた.


返還タイプがvoidMLINK 引数を取って,関数に関数ポインタを表現するMathLink のタイプである.

詳細詳細

  • 関数MLSetUserData()は,その2番目の引数としてMLUserFunctionを取る.MathLink は,MLClose()の時間中に自動的にMLUserFunctionを呼び出す.
  • MLUserFunctionは,MathLink ヘッダファイルmathlink.hの中で宣言される.

例題例題すべて開くすべて閉じる

  (1)  (1)

#include <stdlib.h>
#include "mathlink.h"

typedef struct foo_
{
    int member1;
} foo;


/* destroy a foo object retrieved from a link */
void c(MLINK lp)
{
    foo *fobj;

    fobj = MLUserData(lp, (MLUserFunction *)0);
    if(fobj == (foo *)0) return;

    free(foo);
}


/* allocate a foo object and store it in a link */

void f(MLINK lp)
{
    foo *fobj;

    fobj = (foo *)malloc(sizeof(foo));
    if(fobj == (foo *)0)
        { /* error allocating space for foo object */ }

    MLSetUserData(lp, (void *)fobj, c);
}