C 和 C++ 长期以来一直统治着我们数字世界的核心,而且仍然如此。但是,它不能很好地处理内存,并且会出现缓冲区溢出(Morris Worm、SQL Slammer 等等)或缓冲区下溢(Heartbleed)。这可能涉及堆栈溢出攻击,即程序向已为给定缓冲区分配的堆栈写入过多数据,以及堆溢出攻击,即我们将内存溢出到未分配给缓冲区的空间中。
这些问题通常允许攻击者将数据写入非预期位置,或者可能导致代码处理异常(从而导致问题表现不可靠)。一个典型的区域是覆盖分配用于其他目的的内存,然后对代码造成拒绝服务 (DoS),然后代码就停止工作。
除此之外,开发人员通常不会清理变量,因此垃圾收集器必须介入并释放不再使用的内存。
但是,Rust 不允许你做这些事情。它在编译时对变量的使用进行严格检查,如果你对变量做了什么不好的事情,它会告诉你,并拒绝编译代码。
2015年,Rust横空出世,短短八年时间,众多主流软件公司都采用它作为自己系统的核心。谷歌是早期采用者之一,但现在微软也加入了,他们正在使用 Rust 开发核心代码。
但是,还有很多问题学习该语言需要多长时间?它会提高开发人员的工作效率吗?以下内容涉及谷歌进行的研究,该研究回答了这些问题:
https://opensource.googleblog.com/2023/06/rust-fact-vs-fiction-5-insights-from-googles-rust-journey-2022.html
喜欢朋友可以点点赞转发转发。
免责声明:本公众号不承担任何由于传播、利用本公众号所发布内容而造成的任何后果及法律责任。未经许可,不得转载。
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...