#abort #standard #panic #process #unsafe #libc #std

无 std libabort

一个不需要标准库的 abort 函数

3 个版本

0.1.8 2024 年 6 月 20 日
0.1.7 2024 年 6 月 11 日
0.1.3 2024 年 5 月 20 日

613Rust 模式 中排名

Download history 234/week @ 2024-05-15 95/week @ 2024-05-22 254/week @ 2024-06-05 100/week @ 2024-06-12 199/week @ 2024-06-19 1/week @ 2024-06-26 37/week @ 2024-07-10 37/week @ 2024-07-17 32/week @ 2024-07-24 7/week @ 2024-07-31 7/week @ 2024-08-07

每月下载量 88

Apache-2.0 OR MIT

19KB
233

libabort 最新版本

实现了一个无需标准库即可工作的 abort 函数。

提供了一个 AbortGuard 类型,除非显式“解除”,否则会中止进程。这可以防止在 unsafe 代码中间解包时发生恐慌,这使代码变得异常安全

可用的实现

该库提供多种可能的实现,可以通过使用功能标志来控制。

  1. 使用 Rust 标准库中的 std::process::abort 函数。这可以通过使用 "std" 功能启用(默认禁用)。
  2. 使用 C 标准库中的 abort 函数,该函数来自 libc。这需要链接到 C 标准库,而不是 Rust 库。这可以通过使用 "libc" 功能启用(默认禁用)。
  3. 如果已知 panic! 实现是中止而不是解包,则 abort 函数会简单地触发一个恐慌。这需要一个较新的 Rust 版本(1.60)来检测恐慌是解包还是中止。
  4. 如果没有其他可用的实现,则 abort 函数会触发双重恐慌。这始终会触发中止,无论 Rust 版本或编译器设置如何。

许可证

根据您的选择,受 Apache License 2.0 或 MIT 许可证的许可。除非您明确说明,否则您有意提交以包含在本项目中的任何贡献,根据 Apache-2.0 许可证定义,应按上述方式双重许可,而无需任何额外条款或条件。

依赖项