#atomic #pointers #load #size #stores #platform

no-std atomic_fn

为所有 T 类型提供泛型 AtomicFnPtr<T> 包装类型,其中 T 是函数指针,例如 fn()fn(usize) -> usize

1 个不稳定版本

0.2.1 2022 年 4 月 3 日

#311无标准库

每月 36 次下载
3 个 Crates 中使用 (simple_pg_client)

MIT/Apache

24KB
259

atomic_fn

一个库,它为所有 T 类型提供泛型 AtomicFnPtr<T> 类型,其中 T 是函数指针,例如 fn()fn(usize) -> usize。可能可以工作,但不建议用于正式用途。

此库始终使用本地原子指令,因为函数指针几乎总是具有原子加载和存储的正确大小和对齐。如果目标平台上的函数指针没有正确的原子加载和存储的大小或对齐,则库无法编译,如果绕过这一点,则在运行时会存在检查,如果大小或对齐不受支持,则会引发 panic。

此 crate 使用 #![no_std] 并只依赖于 libcore。

用法

将其添加到您的 Cargo.toml 中

[dependencies]
atomic_fn = "0.2"

并在您的 crate 根目录中添加此内容

extern crate atomic;

许可证

在以下任一许可证下授权:

任选其一。

贡献

除非您明确说明,否则根据 Apache-2.0 许可证定义,您有意提交以包含在作品中的任何贡献,将按上述方式双重许可,不附加任何额外条款或条件。

无运行时依赖