3 个版本
使用旧的Rust 2015
0.1.2 | 2018年1月15日 |
---|---|
0.1.1 | 2018年1月14日 |
0.1.0 | 2018年1月14日 |
#1597 在 过程宏
每月 22 次下载
9KB
184 代码行
libasm
这是一个库,用于为稳定版Rust提供内联汇编支持。
要将内联汇编添加到项目,只需创建一个类似以下的构建脚本
extern crate libasm;
fn main() {
libasm::parse();
}
#[macro_use]
extern crate libasm;
lasm! {
"x86_64-unknown-linux-gnu"
fn add2 {
mov %rax, %rdi
add %rax, %rsi
}
"x86_64-pc-windows-msvc"
fn add2 {
mov rax, rcx
add rax, rdx
}
}
extern "C" {
fn add2(a: u64, b: u64) -> u64;
}
fn main() {
let x = unsafe { add2(3, 4) };
println!("Hello, world! 3 + 4 = {}", x);
}
lasm!
声明提供了一组特定于目标-triple的汇编函数列表。需要自己声明函数原型,如 lasm!
块之后所示。如果编译的目标-triple没有匹配的声明,将会遇到链接错误,除非实现来自其他地方。
依赖项
~2MB
~49K SLoC