WSUserFunction (C 関数)
返還タイプがvoidのWSLINK引数を取って,関数に関数ポインタを表現すWSTPのタイプである.
詳細
- 関数WSSetUserData()は,その2番目の引数としてWLUserFunctionを取る.WSTPは,WSClose()の時間中に自動的にWSUserFunctionを呼び出す.
- WSUserFunctionは,WSTPヘッダファイルwstp.hの中で宣言される.
例題
例 (1)
#include <stdlib.h>
#include "wstp.h"
typedef struct foo_
{
int member1;
} foo;
/* destroy a foo object retrieved from a link */
void c(WSTPINK lp)
{
foo *fobj;
fobj = WSTPUserData(lp, (WSTPUserFunction *)0);
if(fobj == (foo *)0) return;
free(foo);
}
/* allocate a foo object and store it in a link */
void f(WSLINK lp)
{
foo *fobj;
fobj = (foo *)malloc(sizeof(foo));
if(fobj == (foo *)0)
{ /* error allocating space for foo object */ }
WSSetUserData(lp, (void *)fobj, c);
}