1 unstable release
0.1.1 | Feb 11, 2020 |
---|---|
0.1.0 |
|
#1657 in Procedural macros
8KB
65 lines
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.
Dependencies
~120KB