4个稳定版本
1.1.0 | 2023年9月22日 |
---|---|
1.0.3 | 2022年2月10日 |
1.0.1 | 2022年2月9日 |
1.0.0 |
|
#7 在 #include-bytes
每月40次下载
用于 bunk
23KB
386 行
include-bytes-plus
是Rust的 include_bytes
宏的改进版本,允许将输入重新解释为不同类型的数组。
由于无法在稳定Rust中捕获当前文件路径,此宏仅接受相对于crate根的相对路径。
支持类型
-
原始固定大小无符号整数,带有可选的字节序后缀;
-
无符号整数数组;
用法
use include_bytes_plus::include_bytes;
let bytes = include_bytes!("tests/include.in");
let bytes_u16 = include_bytes!("tests/include.in" as u16);
let bytes_u16_2 = include_bytes!("tests/include with whitespaces.in" as u16);
let bytes_u16_3 = include_bytes!("tests/include with whitespaces.in" as [u8; 48]);
let bytes_u16_4 = include_bytes!("tests/include with whitespaces.in" as [u16; 12]);
let bytes_u16be = include_bytes!("tests/include.in" as u16be);
assert_eq!(bytes.len(), bytes_u16.len() * 2);
assert_eq!(bytes.len(), bytes_u16.len() * 2);
assert_eq!(bytes.len(), bytes_u16_2.len() * 2);
assert_eq!(bytes_u16_3.len(), 1);
assert_eq!(bytes_u16_3[0].len(), 48);
assert_eq!(bytes_u16_4.len(), 2);
assert_eq!(bytes_u16_4[0].len(), 12);
assert_eq!(bytes_u16_4[1].len(), 12);
assert_eq!(bytes_u16be.len(), bytes_u16.len());
调试计时
设置环境变量 RUST_INCLUDE_BYTES_LOG=1
以启用每个解析文件的统计信息记录