【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

Rust 1.10,对引导、Panic 处理及更多特性的改进

  • 2016-07-14
  • 本文字数:986 字

    阅读完需:约 3 分钟

发布的Rust 1.10 引入了新的、旨在对开源版本更友好的引导方法。此外,该版本中添加的新特性还包括:用于panic 处理的构建选项,可提升编译器性能并降低生成二进制文件的大小;一种新的共享库格式;以及其它的一些性能改进。

Rust 引导方法,就是使用 Rust 编译器去编译其自身的方法。对于 Rust 1.10 版本,Rust 引导方法得到了更新,使得其不同于以往版本那样存在对一些不稳定 Rust 特性的依赖。使用不稳定特性的最大缺点在于,其中必定使用了某个特定的 Rust 编译器夜间版,这对于 Linux 发行版而言是不太理想的做法。事实上,许多 Linux 发行版在构建它们的软件包时,更愿意仅仅使用过往的打包版本,而非使用不可信的二进制版本文件。由此改进引发的一个结果是,现在 Rust 1.10 可从 Rust 1.9 版本编译而来。将来,Rust 的任何新版本将由当前的稳定版本所构建。例如,Rust 1.11 可构建自 Rust 1.10。

上文提及 Rust 1.10 引入了一个新的构建选项,该选项允许开发人员定义Rust 的panic!行为。默认情况下,panic!将触发堆栈解退,这对于编译器的性能和生成的二进制文件的大小引入了一些开销。虽然对于一些应用而言,异常终止也是处理异常问题的一个合理方法,但是为使Rust 程序退出而非堆栈解退,现在开发人员可以指定命令行选项-C panic=abort,或者在配置文件Cargo.toml 中添加panic=abort,这将为生成二进制文件的大小和编译时间带来10% 的改进。

此外,Rust 1.10 的新特性还包括 cdylib 打包类型,主要用可嵌入其它语言的库。dylib 作为现有的库格式,依然是 Rust 项目中首选的库格式。cdylib 与 dylib 主要不同之处在于:

  • cdylib 用于静态链接;
  • cdylib 中包含了元数据;
  • 类似于可执行文件,在 cdylib 库中可访问的外部函数是可见的标识;
  • cdylib 可使用 -C 编译选项,指定链接时优化

此外,Rust 1.10 还带来了若干性能改进,包括:

Rust 1.10 还包括了更多本文中所未提及的改进,可参阅其发行备注

查看英文原文: Rust 1.10 Improves Bootstrapping, Panic Handling, and More


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-07-14 19:001566
用户头像

发布了 227 篇内容, 共 71.3 次阅读, 收获喜欢 27 次。

关注

评论

发布
暂无评论
发现更多内容

llustrator 2024 for Mac最新中文破解版下载

影影绰绰一往直前

Illustrator 2024 Illustrator破解版下载 Illustrator mac Illustrator激活版

昇腾迁移丨4个TensorFlow模型训练案例解读

华为云开发者联盟

人工智能 华为云 昇腾 华为云开发者联盟

医共体建设进入高峰期 区域医疗平台运营管理如何破局

用友BIP

医疗平台运营

Video Copilot Element 3D for Mac(AE三维模型插件)激活版

影影绰绰一往直前

Element 3D 下载 Element 3D 破解版 Element 3D mac

用友携手平安银行,加速数智化司库及财资体系建设

用友BIP

全球司库

火山引擎云原生存储加速实践

字节跳动云原生计算

大数据 云原生 存储

最新苹果系统 macOS 14 Sonoma 14.1正式版

iMac小白

MacOS 14 macOS Sonoma MacOS14系统

DAPP 燃烧铸币质押挖矿系统开发

l8l259l3365

如何成为前1%的程序员

互联网工科生

程序员 提升自我

外贸独立站谷歌seo优化的8大技巧

九凌网络

企业制作网站时为何香港云服务器成为首选?

一只扑棱蛾子

香港云服务器

Dapp开发流程以及应用

西安链酷科技

软件开发 dapp 去中心化 安全性

调用API接口获取淘宝商品评论:方法与实战

Noah

信息系统建设和企业税务管理的结合

用友BIP

税务管理

吴翰清《计算》重磅来袭,为了可计算的价值,写给所有人!

博文视点Broadview

数电票如何管理?

用友BIP

数电票

调用API接口获取淘宝店铺所有商品:详细指南与代码实践

Noah

2023云栖大会龙蜥操作系统专场成功举办

开放原子开源基金会

开源 云栖大会

Mac日程管理软件Fantastical 中文破解版 让日程管理更加便捷!

Rose

日程管理App Fantastical Mac中文版 Fantastical下载 Mac日历软件

架构实战营 - 模块四作业

王朝阳

架构实战营

即时通讯技术文集(第22期):IM安全相关文章(Part1) [共13篇]

JackJiang

网络编程 即时通讯 IM

腾讯云入选 2023Gartner分布式混合基础设施魔力象限

ToB行业头条

交易所钱包系统开发

西安链酷科技

数字货币 dapp 交易所

11 月 11日,MatrixOne 社区邀请您来深圳办公室坐坐

MatrixOrigin

分布式数据库 云原生数据库 MatrixOrigin MatrixOne HTAP数据库

Mac窗口管理软件合集|告别混乱屏幕,一切井井有条

Rose

mac窗口管理软件 Mac破解软件 苹果电脑分屏软件 Mac软件下载站

对话在行人|合众思壮:基于用友BIP重塑业务应用,推进业财融合

用友BIP

对话在行人 数智化领先实践

华为云云容器引擎CCE产品文档带来4个升级,降低使用难度

华为云开发者联盟

云原生 华为云 华为云开发者联盟 华为云CCE容器服

ps2021一键换天空教程

Rose

ps2021破解版 一键换天空 ps2021下载 ps2021天空替换 Photoshop Mac破解版

如何为Affinity Publisher或Designer创建条形码?

Rose

Affinity Publisher 条形码设计

MacOS数据库开发工具Navicat Premium 15 for Mac中文激活版

影影绰绰一往直前

Navicat Premium下载 Navicat Premium破解版 Navicat Premium 15

人才驱动:水泥建材企业如何实现智能化人才管理

用友BIP

人才发展

Rust 1.10,对引导、Panic处理及更多特性的改进_语言 & 开发_Sergio De Simone_InfoQ精选文章