8 个版本
0.3.1 | 2023年6月12日 |
---|---|
0.3.0 | 2023年6月12日 |
0.2.2 | 2021年12月10日 |
0.2.1 | 2021年10月28日 |
0.1.3 | 2019年2月20日 |
#579 in Rust 模式
4,451 monthly downloads
用于 14 个 crate (10 直接)
16KB
238 行
::byte-strings
Rust 零成本字节字符串操作,用于更好的、更安全的 FFI
示例
包含 c_str!
宏来创建具有零运行时成本的 有效的 C 字符串字面量!
#[macro_use]
extern crate byte_strings;
/// Some lib
mod safe {
use ::std::{
ffi::CStr,
os::raw::{c_char, c_int},
};
/// private unsafe C FFI
mod ffi {
use super::*;
extern "C" {
pub
fn puts (_: *const c_char)
-> c_int
;
}
}
/// lib API: safe Rust wrapper => uses `CStr`
pub
fn puts (message: &'_ CStr)
-> i32
{
unsafe {
ffi::puts(message.as_ptr()) as i32
}
}
}
fn main ()
{
safe::puts(c!("Hello, World!"));
}
依赖项
~270–720KB
~17K SLoC