1个不稳定版本
使用旧的Rust 2015
| 0.1.2-brioche | 2020年2月23日 |
|---|
#4 在 #ducc
在3个crate中使用(通过brioche-ducc)
3.5MB
72K SLoC
ducc-sys
为ducc crate提供的Duktape底层FFI。
辅助扩展
此FFI公开了所有Duktape库存项(所有以duk_或DUK_开头)。除了这些项之外,FFI还提供了一些特定的辅助扩展,专门用于从Rust处理Duktape。这些扩展都以ducc_开头,如下所示
ducc_push_c_function_nothrow
类似于duk_push_c_function,但func的返回值处理方式不同。而不是能返回DUK_RET_xxx,func可以返回-1(当前所有负值都按相同方式处理)以将错误对象推到堆栈顶部并抛出。
当func返回非负整数时,此函数的处理方式与duk_push_c_function相同。
此函数在新生成的函数上分配一个名为"__NOTHROWFUNC"的隐藏属性(DUK_HIDDEN_SYMBOL("__NOTHROWFUNC"))。
ducc_set_exec_timeout_function
设置全局超时回调。这应该在应用程序中仅设置一次,因为它是所有上下文共享的。有关此回调应如何工作的更多信息,请参阅DUK_USE_EXEC_TIMEOUT_CHECK。
只有当设置use-exec-timeout-check Cargo功能时,才会启用执行超时。
ducc_exec_timeout_function
为duk_set_exec_timeout_function提供的回调类型。