c_macros

Crates.ioc_macros
lib.rsc_macros
version0.1.1
sourcesrc
created_at2020-02-11 20:57:06.080152
updated_at2020-02-11 21:15:25.849997
descriptionA bunch of macros useful for interfacing with C code
homepage
repositoryhttps://github.com/NonNullableName/c_macros
max_upload_size
id207449
size9,373
Santino (IronThread)

documentation

README

This library provide a bunch of macros useful for interacting with C code.

Why c_macros?

  1. All alternatives are performant as possible,in particular to_raw_c_string("Hello world!") does not convert a vector into a boxed slice as CString::from_vec_unchecked(String::from("Hello world!").into_bytes()).into_raw() does.

  2. 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.

Commit count: 0

cargo fmt