AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

Rustup 将大大简化 Rust 代码交叉编译工作

  • 2016-05-26
  • 本文字数:830 字

    阅读完需:约 3 分钟

Rust 1.8 中引入的Rustup,是一个针对Rust 语言的工具链管理器(toolchain manager),其目标是让交叉编译Rust 代码更加简单。Mozilla 工程师 Brian Anderson 近期与我们分享了关于此的更多细节。

Rustup 是一个命令行应用,能够下载并在不同版本的 Rust 工具链中进行切换 —— 如编译器rustc和标准库,该应用所支持的平台数量不少。事实上,rustc本身就支持大约 56 个平台,而rustup实际上能够为其中 14 个平台管理编译器,为 30 个平台管理标准库。

此外,rustup 能够追踪工具链的具体版本,包括 Rust 的 nightly 版本、beta 版本和发行版本。举个例子,你可以用 rustup检查程序在下一个 Rust 发行版下的行为。但是之前,你需要安装当前平台下的 Rust beta 版本的工具链,然后利用该工具链运行单元测试。使用rustup之后,可以通过执行类似下面的代码完成:

复制代码
$ rustup install beta
$ rustup run beta cargo test

再举一个例子,Anderson 介绍了如何使用rustup为使用musl标准库(而非大家常用的glibc标准库)的 Linux 版本创建静态二进制文件:

复制代码
$ rustup target add x86_64-unknown-linux-musl
$ cargo run --target=x86_64-unknown-linux-musl

rustup还是一个正在开发中的产品,将致力于扩充支持平台的数量。特别要注意,rustup目前还无法针对 Android 平台进行无缝交叉编译。这要求开发者手动下载 Android NDK,并针对性地创建一个“独立的工具链”。Anderson 表示, rustup将在未来的版本中解决这个问题,增加获取并配置所要求的连接器和 C 语言工具链的能。另外,rustup还计划通过 Emscripten 支持 Web 开发。

rustup是 Anderson 开发的 multirust的后继者,并取代了其位置。rustup仍被看作处于 beta 阶段,但是目前已经可以安装并试用。

查看英文原文: Rustup Aims to Make Cross-Compiling Rust Much Easier


感谢丁晓昀对本文的审校。

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

2016-05-26 19:004348

评论

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

大作业(一)

Binary

ARTS - week 2

steve_lee

我的Java转Go之路

roseduan

Java 转行 Go web Go 语言

区块链+版权:NFT出圈,善用技术能否“破心中贼”?

CECBC

数字技术

【得物技术】前端微服务

得物技术

微服务 大前端 得物技术

大作业(二)

Binary

多应用集中落地,四川区块链产业爆发增长

CECBC

区块链

React 中 useContext 和 useMemo 一般性使用

sadhu

React useContext useMemo React Hooks

滚雪球学 Python 之作用域下的 global 和 nonlocal 关键字

梦想橡皮擦

28天写作 3月日更

「架构师训练营 4 期」 第十周 - 001&2

凯迪

架构师训练营 4 期

安全架构学习总结

跳蚤

MySQL调优

Sakura

28天写作 3月日更

「架构师训练营 4 期」 第十一周 - 001&2

凯迪

架构师训练营 4 期

场景化面试:Kafka 为何有如此高的吞吐量和性能

面试官问

kafka 零拷贝 PageCache

【笔记】第七周 第 2 课

Geek_娴子

我的学习笔记

SilentMacUser

Python JavaScript 学习 大前端 开发

又一款Nginx 管理可视化神器!通过界面完成配置监控,一条龙!

Java小咖秀

nginx 运维 后端

Zookeeper.02 - API

insight

zookeeper 3月日更

雄岸科技区块链布局价值待考

CECBC

区块链 科技

基于 SparkMLlib 智能课堂教学评价系统-系统设计(三)

大数据技术指南

大数据 spark 智能时代 28天写作 3月日更

Elasticsearch 写入流程 Making Changes Persistent

escray

elastic 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 3月日更

Vue3源码 | 深入理解响应式系统下篇-effect

梁龙先森

源码分析 大前端 Vue3

通过使用终端(iTerm2&Oh my ZSH)来提高您的生产率 John 易筋 ARTS 打卡 Week 41

John(易筋)

ARTS 打卡计划 iterm2 myzsh

区块链+金融落地应用详解

CECBC

金融

数据采集之Flume采集及点击流模型详解

五分钟学大数据

大数据 28天写作 3月日更 flume 点击流模型

架构师是什么?

ES_her0

28天写作 3月日更

打造技术人创作利器:Typora+PicGo+Github+Jsdelivr 组合拳

Viktor

创作 GitHub Pages 工具软件

软件工程任务排期方法

steve_lee

简述软件不可用性及解决办法

跳蚤

员工遇到问题 - 是给答案还是给引导?

石云升

项目管理 28天写作 职场经验 管理经验 3月日更

英文IT数码类播客学习笔记

SilentMacUser

红帽 互联网 播客 计算机历史

Rustup将大大简化Rust代码交叉编译工作_语言 & 开发_Sergio De Simone_InfoQ精选文章