Comments (7)
考虑改为:
得益于 LLVM 的优秀兼容性, Rust 程序,只需编写一次,就能够有效的跨平台编译执行,大多数时候用户无需考虑平台特定语义的问题。
from tao-of-rust-codes.
进一步修改:
Rust程序只需要编写一次,就能有效地跨不同的平台编译执行,大多数时候用户无需考虑各个平台的特定问题,这完全得益于LLVM的优秀兼容性。
from tao-of-rust-codes.
@ZhangHanDong 这个说法仍不准确,因为 LLVM 只是跨平台兼容性的一部分,其他部分还包括标准库、 rustc 中的设计等等
from tao-of-rust-codes.
@mzji 嗯,再考虑考虑
from tao-of-rust-codes.
Rust 从诞生伊始,就考虑到了平台移植性问题,并为此做了诸多努力:LLVM 作为底层的代码生成框架,具有良好的移植性;标准库 std 在设计时也注重兼容多平台语义;编译器 rustc 在实现中尽可能弭平不同平台间的微小差异;等等等等。以上这些举措,都是为了让程序员能够更加轻松的编写跨平台可运行的代码,大多数时候,用户无需考虑各个平台的特有性质,基本上做到一次编写,各处运行;而当用户需要处理跨平台兼容性问题的时候,rust 也提供了一些辅助的机制,以利于将不同平台的兼容问题包容在单个 crate 中解决。
from tao-of-rust-codes.
@mzji Nice!感觉描述到位了!
from tao-of-rust-codes.
整段文字将修改为:
Rust从诞生伊始,就考虑到了平台移植性问题。通常编译阶段被分为前端和后端两部分,Rust作为编译语言,也是这样划分的。Rust编译器是一个编译前端,它的工作是对代码进行词法分析、语法分析、类型检查、生成中间代码、进行独立于目标机器的优化等工作。使用LLVM作为编译器后端代码生成框架,则可以利用LLVM兼容多个目标机器的特性,实现跨平台编译和优化等工作。所以,在用户使用Rust时,大多数的时候,无需考虑各个目标机器平台的特有性质,基本上可以做到一次编写,到处运行。而当用户在需要处理跨平台兼容性问题的时候,Rust也以第三方crate的形式,提供了诸多辅助。
from tao-of-rust-codes.
Related Issues (20)
- [代码错误] 6.3 迭代器 代码清单6-80
- 第四章内存管理 结构体A的内存对齐前后的布局对比 图4-8绘制似乎是错误的,请确认 HOT 2
- 第44页的代码清单2-5注释错误 HOT 1
- 2.5.1 节,if判断不建议使用小括号 HOT 1
- 4.2.3 代码清单4-18链表初始化语句有重复操作,报错信息有更新 HOT 2
- 2.10.2 节 动态分发写法在新版本中已经废弃 HOT 1
- 6.2.1 闭包的基本用法 相同写法的空闭包可以放在vec中 HOT 1
- 6.3.5 消费其 any 不再是一次遍历到底 利用try_fold 支持break HOT 3
- 第二章2.3.3 关于所有权转移代码示例可能有误 HOT 3
- 问题:如何正确地hook系统函数? HOT 1
- 第五章 多个生命周期参数 HOT 1
- cannot specialize default item `swim` HOT 1
- 13.2.2 子类型和型变问题 HOT 1
- 第三章 函数重载应改为函数重写 HOT 1
- [第三章]代码清单3-36的trait对象在最新stable1.66报错,trait对象应改为&dyn Bar HOT 1
- 13.2.2 491页 “step1函数第一个参数&val生命周期本来是'a,因为协变而变成'static,所以借用检查就正常通过了” HOT 1
- [第5章] 5.5.4 代码清单5-42中trait对象在2021版本中需要在trait名称前加上dyn HOT 1
- [第5章] 5.6 代码清单5-47注释中foo不存在
- [第5章] 5.8代码清单5-62中生成的MIR代码与1.67 不一致,建议更新或采用不同分支提供相应代码 HOT 1
- [第7章]7.1.1结构体的代码清单7-9中input没有必要是mut,而且try应该用问号替代 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tao-of-rust-codes.