模块 Callback

module Callback: sig .. end

将 OCaml 值注册到 C 运行时。

此模块允许将 OCaml 值注册到 C 运行时,并使用符号名称,以便 C 代码稍后可以回调注册的 OCaml 函数或引发注册的 OCaml 异常。


val register : string -> 'a -> unit

Callback.register n v 将值 v 注册到名称 n 下。C 代码可以通过调用 caml_named_value(n) 来获取对 v 的句柄。

val register_exception : string -> exn -> unit

Callback.register_exception n exn 将异常值 exn 中包含的异常注册到名称 n 下。C 代码可以通过调用 caml_named_value(n) 来获取对异常的句柄。由此获得的异常值适合作为第一个参数传递给 raise_constantraise_with_arg