Rust 1.59.0 稳定版发布,正式支持内联汇编
Rust 1.59.0 稳定版已正式发布,新版本最值得关注的特性是支持在代码中内联汇编 (Inline assembly),其他变化包括:引入解构式赋值、默认关闭增量编译,以及 Const 泛型参数支持设置默认值等。 内联汇编 (Inline assembly) 此项特性的使用场景主要是控制底层执行,或者访问特定的机器指令。 例如面向x86-64 目标平台进行编译时,可以用以下的方式编写代码: use std::arch::asm; // Multiply x by 6 using shifts and adds let mut x: u64 = 4; unsafe { asm!( "mov {tmp}, {x}", "shl {tmp}, 1", "shl {x}, 2", "add {x}, {tmp}", x = inout(reg) x, tmp = out(reg) _, ); } assert_eq!(x, 4 * 6); 可以看到,此处格式化字符串的语法与 Rust 格式化字符串中使用的相同,除了asm!,global_asm!宏也支持这...