#abi #extern #macro #cross-compilation #调用约定

fn_abi

一个过程属性宏,用于设置被属性函数的ABI/调用约定

2个稳定版本

3.0.0 2022年3月7日
2.0.1 2021年9月27日
0.1.2 2021年9月26日
0.1.1 2021年9月24日
0.1.0 2021年9月23日

#12 in #cross-compilation

Download history 80/week @ 2024-03-31 26/week @ 2024-04-07 25/week @ 2024-04-14 27/week @ 2024-04-21 19/week @ 2024-04-28 21/week @ 2024-05-05 23/week @ 2024-05-12 32/week @ 2024-05-19 24/week @ 2024-05-26 60/week @ 2024-06-02 102/week @ 2024-06-09 76/week @ 2024-06-16 75/week @ 2024-06-23 58/week @ 2024-06-30 56/week @ 2024-07-07 65/week @ 2024-07-14

258 每月下载量
用于 2 个crate(通过 gmod

MIT 许可证

7KB
91

crates.io

fn_abi

一个过程属性宏,用于设置被属性函数的ABI/调用约定。

示例

#[macro_use] extern crate fn_abi;

#[abi("fastcall")]
extern fn hello_world_fastcall() {
    println!("hello world!");
}

#[cfg_attr(all(target_os = "windows", target_pointer_width = "32"), abi("thiscall"))]
#[cfg_attr(all(target_os = "windows", target_pointer_width = "64"), abi("fastcall"))]
extern fn hello_world_windows() {
    println!("hello world!");
}

lib.rs:

fn_abi

一个过程属性宏,用于设置被属性函数的ABI/调用约定。

示例

#[macro_use] extern crate fn_abi;

#[abi("fastcall")]
extern fn hello_world_fastcall() {
    println!("hello world!");
}

#[cfg_attr(all(target_os = "windows", target_pointer_width = "32"), abi("thiscall"))]
#[cfg_attr(all(target_os = "windows", target_pointer_width = "64"), abi("fastcall"))]
extern fn hello_world_windows() {
    println!("hello world!");
}

依赖项

~1.5MB
~36K SLoC