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 嵌入式开发

Download history 15142/week @ 2024-05-02 12133/week @ 2024-05-09 10555/week @ 2024-05-16 10861/week @ 2024-05-23 10923/week @ 2024-05-30 10306/week @ 2024-06-06 10842/week @ 2024-06-13 12446/week @ 2024-06-20 10290/week @ 2024-06-27 8446/week @ 2024-07-04 9530/week @ 2024-07-11 10810/week @ 2024-07-18 9505/week @ 2024-07-25 8988/week @ 2024-08-01 10733/week @ 2024-08-08 7695/week @ 2024-08-15

38,661 每月下载量
699 个Crates中(直接使用11个) 中使用

MIT/Apache

11KB
288

crates.io crates.io

aligned

一种新类型,至少具有 A 字节的对齐

许可证

许可协议为以下两种之一

任选其一。

贡献

除非你明确表示,否则根据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