|
SOLUTIONS
|
MATHEMATICA MATHLINK C 函数
MLSetUserData()
void MLSetUserData(MLINK link, void* d, MLUserFunction f)
安装用户数据对象 data 和 link 中的函数 f.
更多信息更多信息
- 对象 d 在任何时候都可以使用 MLUserData() 检索.
- MathLink 在带有 link 作为自变量的 MLClose() 时会自动调用函数 f.
- MLSetUserData() 在 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);
}
Mathematica 9 is now available!
New to Mathematica?
Find your learning path »
Have a question?
Ask support »
