[−][src]Crate c_macros
This library provide a bunch of macros useful for interacting with C code.
Why c_macros?
-
All alternatives are performant as possible,in particular
to_raw_c_string("Hello world!")
does not convert a vector into a boxed slice asCString::from_vec_unchecked(String::from("Hello world!").into_bytes()).into_raw()
does. -
As such,because they use byte literal syntax at the expansion,all are safe abstractions and does not need an unsafe block neither trigger warnings if are inside of one.
Versions
This library require a nightly compiler with the following features enabled: proc_macro_hygiene because the macros are only useful expanded as expressions,new_uninit and type_ascription for to_raw_c_string.
Macros
to_c_str | Convert an encoded string to a |
to_c_string | Convert an encoded string to a |
to_raw_c_str | Convert an encoded string to a stack-allocated |
to_raw_c_string | Convert an encoded string to a |