computer_knowledge_notes/Languages/Rust/attribute/feature.md

922 B
Raw Blame History

详见the unstable book

编译器标志

语言属性

库属性

global_asm

global_asm!宏使得程序员可以在函数体之外写汇编通过rustc和llvm传递给汇编器。这个宏是llvm模块级内联汇编的简单接口。

如果不需要global_asm!的强大和灵活,且仅在函数体内使用内联汇编,应使用asm属性。

llvm_asm

llvm_asm!宏支持内联汇编,格式如下:

llvm_asm!(assembly template
    : output operands
    : input operands
    : clobbers
    : options
    );

详细的格式请参考LLVM's inline assembler expressions

相比于global_asm,它能力会弱一点,但有更精细的控制。

panic_info_message