13个版本
0.4.2 | 2024年3月24日 |
---|---|
0.4.1 | 2022年5月13日 |
0.4.0 | 2021年7月24日 |
0.3.4 | 2020年7月31日 |
0.1.1 | 2017年5月30日 |
#395 in 嵌入式开发
38,661 每月下载量
在 699 个Crates中(直接使用11个) 中使用
11KB
288 行
aligned
一种新类型,至少具有
A
字节的对齐
许可证
许可协议为以下两种之一
- Apache许可证2.0版本 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非你明确表示,否则根据Apache-2.0许可证定义,你提交的任何有意包含在作品中的贡献,应如上所述双重许可,而无需任何额外的条款或条件。
lib.rs
:
一种新类型,至少具有 A
字节的对齐
示例
use std::mem;
use aligned::{Aligned, A2, A4, A16};
// Array aligned to a 2 byte boundary
static X: Aligned<A2, [u8; 3]> = Aligned([0; 3]);
// Array aligned to a 4 byte boundary
static Y: Aligned<A4, [u8; 3]> = Aligned([0; 3]);
// Unaligned array
static Z: [u8; 3] = [0; 3];
// You can allocate the aligned arrays on the stack too
let w: Aligned<A16, _> = Aligned([0u8; 3]);
assert_eq!(mem::align_of_val(&X), 2);
assert_eq!(mem::align_of_val(&Y), 4);
assert_eq!(mem::align_of_val(&Z), 1);
assert_eq!(mem::align_of_val(&w), 16);
依赖项
~18KB