SML# - Language/FFI/Import Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

動的リンクライブラリからDynamicLink.dlsymで取り出した関数ポインタ式expは,
以下の特殊構文によってSML#の関数に変換することができる.
exp : _import (ty1, ..., tyn) -> ty
ここで
* exp はDynamicLink.dlsymで取り出したunit ptr型を持つ関数ポインタ式
* (ty1, ..., tyn)は引数の型の指定.引数の数と型は対応するC関数の仕様とあっていなければならない.
* ty は関数の帰り値の型の指定

この構文は,[[_ffiapply特殊構文|Language/FFI/Ffiapply]]を用いた以下の
省略形である.
fn (x1,...,xn) => _ffiapply exp (x1:ty1, ..., xn:tyn) : ty