1 个不稳定版本
0.1.0 | 2024年5月20日 |
---|
#7 in #explicitly
7KB
50 代码行
abort-nostd
一个无需标准库即可工作的abort函数的实现。
提供了一个AbortGuard
类型,除非显式“解除”,否则将终止进程。这可以防止在中间的unsafe
代码中展开panic,这可以使代码变得异常安全。
可用实现
该库提供了多种可能的实现,可以通过使用功能标志来控制。
- 使用Rust标准库的
std::process::abort
函数。这通过使用"std"功能启用(默认禁用)。 - 使用C标准库中的
abort
函数从libc
crate。这需要链接到C标准库,而不是Rust库。这通过使用"libc"功能启用(默认禁用)。 - 如果已知panic实现会中止而不是展开,则abort函数将简单地触发panic。这需要Rust(1.60)的最新版本才能检测panic是否展开或中止。
- 如果没有其他实现可用,
许可证
根据您的选择,在Apache License,Version 2.0或MIT许可证下许可。除非您明确表示,否则任何有意提交给本项目以供包含的由您提供的贡献,根据Apache-2.0许可证定义,应如上所述双重许可,而无需任何其他条款或条件。
依赖项
~15KB