_import特殊構文

動的リンクライブラリからDynamicLink.dlsymで取り出した関数ポインタ式expは,以下の特殊構文によってSML#の関数に変換することができる.

exp : _import (ty1, ..., tyn) -> ty

ここで

  • exp はDynamicLink.dlsymで取り出したunit ptr型を持つ関数ポインタ式
  • (ty1, ..., tyn)は引数の型の指定.引数の数と型は対応するC関数の仕様とあっていなければならない.
  • ty は関数の帰り値の型の指定

この構文は,_ffiapply特殊構文を用いた以下の省略形である.

fn (x1,...,xn) => _ffiapply exp (x1:ty1, ..., xn:tyn) : ty
Last modified:2007/03/30 02:10:21
Keyword(s):
References:[外部関数束縛] [FFIの実用例: OpenGLを利用する]