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

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阶段,但是目前已经可以安装并试用。
本文转自d1net(转载)

时间: 2024-11-08 21:53:44

Rustup将大大简化Rust代码交叉编译工作的相关文章

lombok 简化java代码注解

lombok 简化java代码注解 安装lombok插件 以intellij ide为例 File-->Setting-->Plugins-->搜索"lombok plugin",安装后重启ide lombok 注解 lombok 提供的注解不多,可以参考官方视频的讲解和官方文档. Lombok 注解在线帮助文档:https://projectlombok.org/features/index.html 下面介绍几个我常用的 lombok 注解: @Data :注解在

基于MVC4+EasyUI的Web开发框架经验总结(11)--使用Bundles处理简化页面代码

在Web开发的时候,我们很多时候,需要引用很多CSS文件.JS文件,随着使用更多的插件或者独立样式文件,可能我们的Web界面代码会越来越臃肿,看起来也很累赘,在MVC里面提供了一个Bundle的对象,用来简化页面代码非常方便,本文主要介绍在我的MVC框架里面,如何使用bundles来简化页面的代码的. 1.常规的页面代码 我们知道,随着使用更多的一些效果,我们可能不断引入一些新的JS和CSS文件,已达到Web界面更好的表现效果.这样也就逐步增加了文件代码的行数,造成相对比较臃肿的场景,如下面的我

分享 Jquery EasyUI 封装简化操作代码

jquery easyui 封装 使用easyui datagrid部分,主要是节省了写一堆html代码. 通过封装,可以节省每个页面都写一堆easyui的代码,相对要简单一些,个人觉得,毕竟是自己做的,难免自我感觉好些,哈哈. 封装好了之后,只需要在html中引用各种需要库,并在body中写<table id="myid"><table> 然后js中调用baseGrid('myid',"focus_ft","<{:U('Fo

用Async函数简化异步代码

Promise 在 JavaScript 上发布之初就在互联网上流行了起来 - 它们帮开发人员摆脱了回调地狱,解决了在很多地方困扰 JavaScript 开发者的异步问题.但 Promises 也远非完美.它们一直请求回调,在一些复杂的问题上仍会有些杂乱和一些难以置信的冗余. 随着 ES6 的到来(现在被称作 ES2015),除了引入 Promise 的规范,不需要请求那些数不尽的库之外,我们还有了生成器.生成器可在函数内部停止执行,这意味着可把它们封装在一个多用途的函数中,我们可在代码移动到下

Firefox 48 将首次整合 Rust 代码

Rust是Mozilla主导开发的专注于安全.速度和并发的系统级编程语言,至今已开发了将近7年时间,最近刚刚发布1.10版本.Rust语言旨在提高系统程序员的生产力,让关键任务软件更不容易出现内存利用漏洞,并发算法更容易驾驭.Mozilla宣布了在其产品中使用Rust的计划:Firefox 48桌面版本将整合第一个Rust编写的组件.Firefox的最新版本是47,Firefox 48将在2周内发布.Firefox将使用的第一个Rust组件是媒体解析器,由Ralph Giles和Matthew

css 缩写: 浅谈css代码的简化缩写

现在很多人所用的CSS代码都很冗赘,其实很多都可以简化缩写的.这次就根据自己所知道的来跟大家谈谈有关CSS代码的简化缩写问题. 1.所有CSS代码只要用一个style标记就可以了,没必要每段都加一个,简直是多余.例如: body{background:url("") repeat fixed!important;} .bodybg{background:url("") no repeat no scroll!important;} 可以简化合并为: body{bac

使用Scala高价函数简化代码

在Scala里,带有其他函数做参数的函数叫做高阶函数,使用高阶函数可以简化代码. 减少重复代码 有这样一段代码,查找当前目录样以某一个字符串结尾的文件: object FileMatcher { private def filesHere = (new java.io.File(".")).listFiles def filesEnding(query: String) = for (file <- filesHere; if file.getName.endsWith(quer

tablewidget-python简化代码,在线等!

问题描述 python简化代码,在线等! def tab1(self,x): #tab=QtGui.QTableWidgetItem() #tab.setSelected(1) for i in self.visi.sizeTab.colorbuck.selectedItems(): if i.row()==0: s=QtGui.QImage(r'listimageab (1).jpg') self._tools.label_16.setPixmap(QtGui.QPixmap.fromImag

前端-请问谁能帮我 简化一下这段javascript 代码?

问题描述 请问谁能帮我 简化一下这段javascript 代码? http://pan.baidu.com/s/1dDj8zyL 简化一下代码,然后,希望可以帮我把 这个攻略 "点击预览" 的时候 能跳过 第二个图,直接进入 最大的那个图 那里去,谢谢各位JS 高手啦