#c-strings #c-str #macro #ffi #c

c_macros

一整套用于与C代码交互的宏

1 个不稳定版本

0.1.1 2020年2月11日
0.1.0 2020年2月11日

#1657过程宏

无授权许可

8KB
65

这个库提供了一组与C代码交互的有用宏。

为什么是c_macros?

  1. 所有替代方案都尽可能高性能,特别是 to_raw_c_string("Hello world!") 不将向量转换为boxed切片,就像 CString::from_vec_unchecked(String::from("Hello world!").into_bytes().into_raw() 所做的。

  2. 因此,由于它们在展开时使用字面量语法,所有这些都是安全抽象,不需要unsafe块也不会在其中一个内部触发警告。

版本

此库需要启用以下功能的nightly编译器: proc_macro_hygiene 因为宏只有在作为表达式展开时才有用,以及 new_uninittype_ascription 用于 to_raw_c_string

依赖关系

~120KB