#offset #offset-of #mem #ffi

无std dev testaso

测试结构体的对齐、大小和偏移量

1个不稳定版本

0.1.0 2022年3月25日

#262无标准库

Download history • Rust 包仓库 107/week @ 2024-03-11 • Rust 包仓库 53/week @ 2024-03-18 • Rust 包仓库 80/week @ 2024-03-25 • Rust 包仓库 70/week @ 2024-04-01 • Rust 包仓库 37/week @ 2024-04-08 • Rust 包仓库 48/week @ 2024-04-15 • Rust 包仓库 44/week @ 2024-04-22 • Rust 包仓库 58/week @ 2024-04-29 • Rust 包仓库 36/week @ 2024-05-06 • Rust 包仓库 188/week @ 2024-05-13 • Rust 包仓库 74/week @ 2024-05-20 • Rust 包仓库 51/week @ 2024-05-27 • Rust 包仓库 22/week @ 2024-06-03 • Rust 包仓库 14/week @ 2024-06-10 • Rust 包仓库 17/week @ 2024-06-17 • Rust 包仓库 69/week @ 2024-06-24 • Rust 包仓库

125次每月下载
4 crates中使用

MIT许可协议

9KB
114

lint enarxbot Workflow Status Average time to resolve an issue Percentage of issues still open Maintenance

testaso

用于测试结构体的对齐、大小和偏移量的宏

这主要用于创建FFI结构。

关键的字段偏移计算是从memoffset crate中提取的。感谢Gilad Naaman、Ralf Jung以及其他所有贡献者。

示例

#[repr(C)]
struct Simple {
    a: u32,
    b: [u8; 2],
    c: i64,
}

#[repr(C, packed)]
struct SimplePacked {
    a: u32,
    b: [u8; 2],
    c: i64,
}

#[cfg(test)]
mod test {
    use testaso::testaso;

    use super::Simple;
    use super::SimplePacked;

    testaso! {
        struct Simple: 8, 16 => {
            a: 0,
            b: 4,
            c: 8
        }

        struct SimplePacked: 1, 14 => {
            a: 0,
            b: 4,
            c: 6
        }
    }
}

许可证:MIT

无运行时依赖