「Rust异步之书」中文翻译
#async #book
感谢 @huangjj的分享
Read More
nphysics的未来:纯Rust的2D和3D实时物理引擎
#physics #game #Rustsim
作者在本文中探到了Nphysics将来的愿景,是做一个性能水平可与现有流行的C++开源物理引擎(如Box2D和Bullet Physics)相媲美的Rust实时物理引擎。
该库现在属于Rustsim组织。
Read More
veloren: 一个类似于我的世界的游戏发布了0.3版本
#game
Read More
veloren源码
「SO问答」Rust中的128位整数如何在64位系统上工作?
#stackoverflow
问题:
Rust有128位整数,用数据类型i128表示(u128表示无符号整数):
let a:i128 = 170141183460469231731687303715884105727;
Rust如何使该i128值在64位系统上工作?它是如何做算术的?因为据我所知,这个值不能放在x86-64处理器的一个寄存器中。编译器是以某种方式为一个i128值使用两个寄存器,还是使用某种大整数结构来表示它们?
回答:
所有Rust的整数类型都编译为LLVM整数。LLVM允许1到2^23 - 1之间任意位宽的整数。LLVM指令通常处理任意大小的整数。
在LLVM IR级别,答案是:两者都不是。i128适合一个寄存器,就像其他单值类型一样。另一方面,一旦翻译成机器码