写点什么

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

评论

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

OpenHarmony父子组件双项同步使用:@Link装饰器

OpenHarmony开发者

打造次世代分析型数据库(五):复杂查询分析工具

腾讯云大数据

数据库

遥遥领先!华为云耀云服务器L实例打造企业数字化转型新标杆

YG科技

优化模型之“显示置信度”

矩视智能

深度学习 机器视觉

聊聊技术之外的面试问题-上

老张

面试 职业规划 职业发展

测试小白必掌握软件测试十大原则

优测云服务平台

软件测试 测试技术 软件测试工具 软件测试技能 测试能力

Parallels Desktop 19 for Mac虚拟机 19.0.0一键激活版+完整安装教程

mac

苹果mac Windows软件 Parallels Desktop 19 pd19虚拟机

深耕业财一体化,激活企业全面预算管理新动能

智达方通

业财融合 智达方通 全面预算管理 企业财务管理

Hello, Vector DB|认识一下,这才是真正的向量数据库

Zilliz

Milvus Zilliz ann 向量数据库

使用 Databend Kafka Connect 构建实时数据同步

Databend

云小课|MRS基础操作之集群健康检查

华为云开发者联盟

大数据 后端 华为云 华为云开发者联盟 华为云云小课

文心一言 VS 讯飞星火 VS chatgpt (109)-- 算法导论10.1 7题

福大大架构师每日一题

福大大架构师每日一题

API网关是什么?

RestCloud

ipaas

TX云服务器续费肉痛?试试华为云耀云服务器吧!

轶天下事

企业门户的必备选择,WorkPlus的定制化解决方案

BeeWorks

当 AI 成为“逆子”;强化学习之父联手传奇程序员丨 RTE 开发者日报 Vol.62

声网

关系数据库SQL

Frank

sql

低代码平台技术分享官丨inBuilder与DevOps平台的集成故事

inBuilder低代码平台

DevOps 低代码

八股乱背,力扣不会!下辈子远离计算机

王磊

Java java面试

HarmonyOS网络管理开发—Socket连接

HarmonyOS开发者

给力!一个基于SpringBoot+Vue前后端分离低代码项目

互联网工科生

Vue 低代码 springboot

七个有用的 GIT 命令

高端章鱼哥

git git 规范

手敲,Ascend算子开发入门笔记分享

华为云开发者联盟

人工智能 华为云 算子开发 华为云开发者联盟 自定义算子

可拓展的低代码全栈框架

树上有只程序猿

软件开发 低代码

跨境电商难做?轻量云服务器助你快速“出海”

YG科技

JD云云主机太捞?这款轻量云服务器存在感满满

轶天下事

2023 KiCon Asia 11月12日 深圳见!

华秋电子

kicad

节能减排 | AIRIOT智慧工厂节能管理解决方案

AIRIOT

物联网 智能工厂

开发搭建体育行业的赛事直播平台指南

软件开发-梦幻运营部

全域Serverless+AI,华为云加速大模型应用开发

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 大模型应用开发

技术为王丨华为云打破中小企业开发小程序低效怪圈

轶天下事

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