WSGetFunction (C 函数)
int WSGetFunction(WSLINK link,const char **s,int *n)
从由 link 指定的 WSTP 连接中获取一个以符号作为标头的函数,把符号的名称存在 s,函数的自变量数存在 n 中.
更多信息
- WSGetFunction() 分配对应于函数标头名称的字符字符串内存. 必须调用 WSReleaseSymbol() 释放该内存. 如果 WSGetFunction() 失败,函数的返回值表明一个错误,不要调用有 s 内容的 WSReleaseSymbol().
- 外部程序不应该修改字符字符串 s.
- 与WSGetNext(link);WSGetArgCount(link,&n);WSGetSymbol(link,&s) 具有同样的效果.
- 若发生错误,则 WSGetFunction() 返回0;若函数成功,则返回非零值.
- 若 WSGetFunction() 失败,则使用 WSError() 检索错误代码.
- WSTP 的标头文件 wstp.h 已对 WSGetFunction() 作出声明.
范例
基本范例 (1)
#include "wstp.h"
/* read a function from a link */
void f(WSLINK lp)
{
const char *f;
int n;
if(! WSGetFunction(lp, &f, &n))
{
/* unable to read the function from lp */
return;
}
/* ... */
WSReleaseSymbol(lp, f);
}