写点什么

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:004649

评论

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

Linux云主机安全入侵排查步骤

京东科技开发者

Linux 安全 云主机 排查方法 云主机安全

SpringBoot源码 | prepareEnvironment方法解析

六月的雨在InfoQ

源码 springboot 源码刨析 SpringBoot实战 9月月更

极狐GitLab CI 月来袭!2小时 get CI 流水线设计秘籍

极狐GitLab

DevOps gitlab 运维 CI/CD 持续交付

C++学习------clocale头文件的源码学习

桑榆

c++ 源码阅读 9月月更

揭秘 · 机器人酒店

澳鹏Appen

人工智能 nlp 语音识别 数据标注 语音标注

英特尔oneAPI工具大幅提升腾讯云数据库MySQL的性能

科技之家

通过Jenkins构建CI/CD实现全链路灰度

阿里巴巴中间件

阿里云 云原生 jenkins 全链路灰度

人工智能、机器学习和深度学习,到底有什么区别?

Finovy Cloud

人工智能 云计算 影视渲染

每日一R「22」内存:堆与栈

Samson

学习笔记 ​Rust 9月月更

概述大数据技术在智能运维中四大挑战

穿过生命散发芬芳

智能运维 9月月更

Unity 关于低版本是否可以引用高版本构建内容的可行性验证

CoderZ

C# dll Unity3D 9月月更

如何让百度搜索结果显示网站 logo

源字节1号

网站建设 网站开发

【译】像CSS一样在Flutter里应用滤镜效果

iofod jude

一文讲透B端和C端产品经理的区别

产品海豚湾

产品经理 SaaS 职业发展 B端产品 9月月更

关于C语言结构体(struct),你不知道的用法?(初阶篇)

Albert Edison

指针 C语言 结构体 9月月更

面试突击81:什么是跨域问题?如何解决?

王磊

Java 面试

SLO新解,一种行之有效的故障处理方法

华明

监控系统 SLO 稳定性保障

程序员成长那些事儿

图灵教育

程序员 进阶 代码 计算机

mysql存储引擎

急需上岸的小谢

9月月更

「趣学前端」来逛逛数字博物馆

叶一一

小程序 前端 9月月更

给我一起学jdbc之sql注入

楠羽

JDBC 笔记 9月月更

云备份服务CBR

创意时空

构筑校园防线  “云资环”助力精准防控

神奇视野

SD-WAN网络编排原理

阿泽🧸

9月月更 网络编排

程序员成长那些事儿

图灵社区

程序员 进阶 代码 计算机

「趣学前端」关于iframe跨域通信

叶一一

前端 iframe 跨域 9月月更

2022-09-07:给你一个由正整数组成的数组 nums 。 数字序列的 最大公约数 定义为序列中所有整数的共有约数中的最大整数。 例如,序列 [4,6,16] 的最大公约数是 2 。 数组的一个

福大大架构师每日一题

算法 rust 福大大

Go vs Python,我该选哪一门语言?

宇宙之一粟

Python 编程语言 Go 语言 9月月更

JAVA StreamAPI

流火

Stream API java 8 的新特性

一起玩转!SOFA 飞船 Layotto 星球登陆计划

SOFAStack

golang 微服务 云原生 新手指南 开源软件

2022年中国新能源汽车用户体验指数(UEI)

易观分析

新能源汽车 UEI

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