50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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:002122
用户头像

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

关注

评论

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

软件测试学习笔记丨Pytest - 测试框架介绍(setup / teardown)

测试人

软件测试

【HDC 2024】探索、交流、成长,华为云助力开发者成就星辰大海梦想

华为云开发者联盟

软件开发 华为云 华为云开发者联盟 华为开发者大会2024 企业号2024年6月PK榜

实力出圈!赛博威荣获双项殊荣,数字化能力再获认可

赛博威科技

TDengine 签约精诚瑞宝,开拓更智能的 IT 服务和管理平台

TDengine

数据库 tdengine 时序数据库

传媒行业指哪些?需要过等保吗?

行云管家

等保 等级保护 等保测评 传媒

贵州正规等保测评机构还是四家吗?地址变了吗?

行云管家

等保 等级保护 等保测评 贵州

基于 Native 技术加速 Spark 计算引擎

Baidu AICLOUD

大数据 spark mapreduce Clickhouse Databricks

凤凰项目(Phoenix Project)精要 - 简介

Anliven

读书笔记 团队管理 DevOps 运维 团队效能

美丽搜索,MeiliSearch

为自己带盐

meilisearch

山寨币大额解锁抛压拖累比特币:10X Research 深度剖析市场动荡

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

Web网页端IM产品RainbowChat-Web的v7.0版已发布

JackJiang

即时通讯;IM;网络编程

万界星空科技MES系统中的业务流程

万界星空科技

MES系统 mes 万界星空科技 生成流程管理

亮相WOT全球技术创新大会,揭秘火山引擎边缘容器技术在泛CDN场景的应用与实践

火山引擎边缘云

CDN 边缘计算 边缘容器 CDN技术 边缘计算平台

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