#duktape #low-level #fork #ducc #set #duk

bin+lib brioche-ducc-sys

ducc crate(分支)提供的Duktape底层FFI

1个不稳定版本

使用旧的Rust 2015

0.1.2-brioche2020年2月23日

#4#ducc


3个crate中使用(通过brioche-ducc

MIT许可证

3.5MB
72K SLoC

C 70K SLoC // 0.2% comments Rust 2K 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_xxxfunc可以返回-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提供的回调类型。

依赖项