对于4K块,我具有以下BlockData
定义:
struct BlockData
{
data: Vec<[u8; 4096]>,
cursor: u64,
}
我想知道是否可以定义一个变量BlockData
类型,该类型将块大小作为输入,例如内置数组类型。
还是我必须为每个块大小定义一个单独的结构?
宏可以使用吗?
更新:定义此类结构的宏。
macro_rules! struct_blockdata {
($name:ident, $size:expr) => {
struct $name {
data: Vec<[u8; $size]>,
size: u64,
cursor: u64,
}
};
}
struct_blockdata! (BlockData4096, 4096);