V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  PTLin  ›  全部回复第 2 页 / 共 15 页
回复总数  298
1  2  3  4  5  6  7  8  9  10 ... 15  
照着 rustls 抄一个吧,要不然 tls 的好几次握手,证书校验,密钥协商生成密钥等等,够你喝好几壶的了。
不过按照我的经验老师可能也半懂不懂你的意思吧,没想让你自己实现整个 tls 。
55 天前
回复了 nmap 创建的主题 Linux Linux 怎么隐藏监听的端口?
对于 ss 这种用 Netlink 的 epbf lsm 到 socket_create 应该就行
@xiaozhaoz 没太理解你说的,你说的是把 CR3[63:MAXPHYADDR]写入 1 触发 GP 异常,然后在这个异常处理里分配具体的一级目录和写入 cr3 吗?
进入 ia32e 模式后,cpu 指令中的全部地址都是虚拟地址,都需要通过 mmu 进行翻译,mmu 自然就需要 cr3 中的一级页表,不是可不可以按需的问题,而是 x86 的设计上就不可能能按需创建。
在一级页表中的目录项才可以指明是否存在,不存在的话发生缺页中断,进而从 cr2 读取到缺页的地址进行下一步操作。
57 天前
回复了 VagrantZ 创建的主题 Windows Microsoft is killing off Windows Subsystem for Android
我使用的问题就有:

性能太差,玩不吃配置的游戏都能卡
资源占用高,风扇响的厉害
每次用完都要手动关闭
59 天前
回复了 lsk569937453 创建的主题 Rust hyper v1+anyhow 可能导致性能急速下降
@lsk569937453 我比较好奇题主是什么平台运行的代码
61 天前
回复了 lsk569937453 创建的主题 Rust hyper v1+anyhow 可能导致性能急速下降
又测试了下,调用层数多点能有十多倍的差距
https://imgur.com/SVIrrfT
https://imgur.com/2LDykii
61 天前
回复了 lsk569937453 创建的主题 Rust hyper v1+anyhow 可能导致性能急速下降
虽然不知道你代码具体原因是什么,但是 anyhow 1.0.80 不同 feature backtrack 的速度确实不一样,不开启 std feature 的话用的是 anyhow 自己的实现,开启的话用的是标准库的实现,在 Windows 上好像是标准库的实现比较慢。
```rust
use anyhow::anyhow;
use std::time::Instant;

fn main() {
for _ in 0..20 {
let now = Instant::now();

for _ in 0..10000 {
let _ = anyhow!("asd");
}

println!("{:?}", now.elapsed());
}
}
```
@qq135449773 那要看监控的事件是什么以及 bpf 程序写的是不是合理了,tracepoint 和 kprobe 一般都是一百纳秒以内,并且触发次数不是太频繁可以忽略不记,假如是上面用户空间的 uprobe 的话那开销就大了。
68 天前
回复了 JinTianYi456 创建的主题 Windows 这个文件夹里没有文件?
在文件夹下运行 attrib /s /d -s -h,把-换成+就是隐藏
68 天前
回复了 fgasdzxc 创建的主题 Go 编程语言 想探讨下 Go 中的网络编程模式
其实和操作系统一样的,发起读之后将这个线程挂到某个 waitlist 中,然后从运行队列里清除这个线程然后进行主动调度。当等待的条件满足后将 waitlist 中的线程放到运行队列里等待被重新调度到。
71 天前
回复了 giiiiiithub 创建的主题 Rust rust 生命周期错误
@giiiiiithub 你标题的问题就是 Drop check 的问题,你 18 楼的问题是更复杂的生命周期协变 逆变的问题
https://doc.rust-lang.org/nomicon/subtyping.html
https://rustcc.cn/article?id=38000317-0d25-40b1-aee9-81143322bec4

另外,你标题代码没有 use ,我没以为是 mpmc 。
71 天前
回复了 giiiiiithub 创建的主题 Rust rust 生命周期错误
附带一提,你这个例子里是 Sender 中的 SenderFlavor 实现了 Drop ,所以你在文档里看不到 Sender 实现了 Drop ,并且假如这个类型没实现 Drop ,就不会触发 Drop check ,你这个代码也就没问题。
71 天前
回复了 giiiiiithub 创建的主题 Rust rust 生命周期错误
你这个其实不算生命周期问题,是 drop check 的问题。主要就是保证值析构时,析构函数不会访问到悬垂引用。

Sender 里 send 的行为可能是这样:send 时把值存在了内部某个地方,drop 的时候可能对这个值进行了某些操作,这种情况下这个值必然不能先于 Sender 被 drop ,所以调下 drop 顺序就能解决。

你这个 case 里 drop 另一个影响是,你在 send 后尝试对字符串进行 push 这种借出可变引用的行为也会报错,无论你是否调换了顺序。

可以看看这两个: https://doc.rust-lang.org/nomicon/dropck.html
https://ng6qpa7sht.feishu.cn/docx/LGnVdlqwGoIUpuxUMWRcptEbndd
你这个不叫死锁好吧,你要在适当的时候调用 ticker.Stop()让这个 Ticker 停下来,让 channel 被 close
75 天前
回复了 u123 创建的主题 Rust 所以 rust 开发对 web 仔来说
crud 崽直接上框架 https://loco.rs/
https://folyd.com/blog/rust-pin-unpin/ 这个文章写的很好。

简单来说就是自引用结构(结构中的一个成员是一个指针,指向另一个成员的地址),倘若对两个这样类型的结构进行 swap 操作,就会让构造出来的自引用性质失效(本身是指向当前结构的自引用指针指向了错误的位置)。

对于 Pin 智能指针包装的类型,倘若我们让这个类型实现!Unpin ,就说明这个类型是*pin 在内存中*的,从而在 Pin 智能指针的使用中无法 safe 的得到这个类型的可变引用,从而解决自引用的问题。

引入的动机是 Future ,async 代码会在某些条件下生成自引用的结构,所以 Future 的 poll 的参数是 Pin<&mut Self>
77 天前
回复了 momo2023 创建的主题 电影 看完《热辣滚烫》后你有什么感触呢?
@loading 这部电影如果这么拍,导演会被电影协会轮番枪毙
1  2  3  4  5  6  7  8  9  10 ... 15  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2178 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 32ms · UTC 02:16 · PVG 10:16 · LAX 19:16 · JFK 22:16
Developed with CodeLauncher
♥ Do have faith in what you're doing.