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
提供的回调类型。