2 个版本

使用旧的 Rust 2015

0.0.4 2016年6月6日
0.0.1 2016年5月19日

82#c

Download history 358/week @ 2024-03-13 324/week @ 2024-03-20 374/week @ 2024-03-27 347/week @ 2024-04-03 428/week @ 2024-04-10 495/week @ 2024-04-17 413/week @ 2024-04-24 127/week @ 2024-05-01 467/week @ 2024-05-08 234/week @ 2024-05-15 227/week @ 2024-05-22 313/week @ 2024-05-29 377/week @ 2024-06-05 234/week @ 2024-06-12 228/week @ 2024-06-19 228/week @ 2024-06-26

每月下载 1,139

MIT 许可证

5KB
72

va_list-rs 构建状态 构建状态

从 Rust 中使用 C 的 va_list 的一种方法。

示例

extern crate libc;
#[macro_use] extern crate va_list;

use libc::{c_char, c_int};

// Here we declare the C function with va_list that we'll use.
extern "C" {
    fn vprintf(f: *const c_char, v: va_list::va_list) -> c_int;
}

fn main() {
    // You just have to call this macro and it'll return you the va_list.
    unsafe {
        to_va_list!(|v: va_list::va_list| {
            // And now you can just give the va_list to the C function:
            vprintf(b"%d %d %s\n\0".as_ptr() as *const c_char, v);
        },
        1, 2, b"salut!\0".as_ptr()); // We pass the arguments after the closure.
    }
}

依赖项

~54KB