pub struct MemCache<K, T>
where
    K: Eq + Hash,
{
    map: HashMap<K, (u64, T)>,
    time_set: TimeoutSet<K>,
    last_clear_time: u64,
    try_clear_interval: u64,
    pub mode: MemCacheMode,
    pub time_out_fn: Option<Arc<dyn Fn(K, T) + Send + Sync>>,
}
第三方库, 这里的map是私有字段, 我想怎么通过unsafe拿到这个map打印一下
	    
	    
		1
	    
	    
	    共 9 条评论, 1 页
	
	
    
评论区
写评论offset加上unsafe指针强转大法
安全边缘疯狂试探
--
👇
nemolc: 用std::mem::transmute_copy,然后打印完用forget掉生成的数据就好了
谢谢
--
👇
nemolc: 用std::mem::transmute_copy,然后打印完用forget掉生成的数据就好了
用std::mem::transmute_copy,然后打印完用forget掉生成的数据就好了
谢谢
--
👇
Bai-Jinlin: 本地定义一个一样的结构,然后mem::transmute转换引用类型,不过这么搞是ub
谢谢
--
👇
aj3n: 有代码直接patch一下加个打印方法就好了,unsafe不至于;
https://doc.rust-lang.org/cargo/reference/overriding-dependencies.html
这样会导致原有的被丢弃
--
👇
Bai-Jinlin: 本地定义一个一样的结构,然后mem::transmute转换引用类型,不过这么搞是ub
本地定义一个一样的结构,然后mem::transmute转换引用类型,不过这么搞是ub
有代码直接patch一下加个打印方法就好了,unsafe不至于;
https://doc.rust-lang.org/cargo/reference/overriding-dependencies.html