18 个版本
0.20220306.3 | 2023 年 8 月 8 日 |
---|---|
0.20220306.2 | 2023 年 6 月 22 日 |
0.20220306.0 | 2023 年 1 月 21 日 |
0.20201108.12 | 2021 年 6 月 6 日 |
0.1.0 | 2020 年 8 月 11 日 |
在 Web 编程 中排名 1429
每月下载量 59
3MB
84K SLoC
quickjs-android-suitable-sys
为 quickjs 提供的 FFI 绑定。虽然有很多选择,但我创建了这个版本,因为它是从 libquickjs-sys 分支出来的,因为它在 i686 Android 上不能正常工作。
是什么?
当为 Android 模拟器构建时,使用的是 i686 工具链,现在其他情况也很少使用。结果是 bindgen 默认不识别编译目标,并且由于某种原因,为 64 位操作系统生成的代码会在 i686 Android(以及可能的其他操作系统)上崩溃。此 crate 在构建库时重建绑定,确保平台一致性。
此更改破坏了与使用 libquickjs-sys 的高级库的兼容性,因此我创建了一个新的分支。一些必需的函数(例如 JS_NewBool
)直接内联在头文件中,而不是在 .c
文件中,因此 C 编译器不会包含它们。为此,我创建了 quickjs+extern.c
来正确公开这些函数。
额外功能
-
大数
启用此功能可向 QuickJS 添加大数支持
-
转储泄漏
在释放 JavaScript 引擎时,转储仍然被持有的变量。对于调试内存泄漏很有用。
发布
在运行 cargo publish
之前,请运行 cargo script scripts/generate-bindings.rs
。我确信有更好的方法来做这件事。
没有运行时依赖
~0–2MB
~37K SLoC