13 个不稳定版本 (3 个重大更改)
0.4.8 | 2024年6月6日 |
---|---|
0.4.7 | 2024年5月9日 |
0.4.4 | 2024年3月30日 |
0.3.1 | 2023年12月14日 |
0.1.0 | 2023年8月3日 |
#379 in Rust 模式
每月387次下载
62KB
1.5K SLoC
BYONDAPI-rs - BYONDAPI 的安全 Rust 绑定
此软件包实现了 BYONDAPI 的 Rust 安全 API。
警告
此库在第一次函数调用时自动初始化,使用 OnceCell。这种初始化可能会在以下情况下失败:所需的 BYONDAPI 符号未在当前可执行文件中找到。
处理此情况的唯一合理方法是 panic,这不可避免地会在 FFI 障碍处展开,这是 未定义的行为。
有两种方法可以修复此问题,我选择了第二种
- 通过强制每个函数都接受一个库结构体的参数,使库 API 大大变差。
- 等待 bindgen 稳定 C-unwind abi
测试
为了成功运行 cargo test,您必须在您的库搜索路径中包含最近 BYOND 版本中的以下文件。对于 Windows,我建议复制以下文件到软件包根目录:
对于 Windows,我建议将以下文件复制到软件包根目录,crates/byondapi-rs/
byond/bin/byondcore.dll
byond/bin/byondext.dll
byond/bin/byondwin.dll
对于 Linux,确保以下文件在您的 LD_LIBRARY_PATH
中:
byond/bin/libbyond.so
byond/bin/libext.so
如果未执行此操作,则在尝试运行测试时将导致错误。
依赖项
~0.4–8MB
~58K SLoC