tag | 34fa242ba249397c0a92930681cbf26b61834cbf | |
---|---|---|
tagger | Emilio Cobos Álvarez <emilio@crisal.io> | Mon Mar 04 03:55:34 2019 +0100 |
object | a43cc2afcd69cbaa2f699ee3d4b9c804576ffad7 |
v0.48.0
commit | a43cc2afcd69cbaa2f699ee3d4b9c804576ffad7 | [log] [tgz] |
---|---|---|
author | Emilio Cobos Álvarez <emilio@crisal.io> | Mon Mar 04 03:27:08 2019 +0100 |
committer | Emilio Cobos Álvarez <emilio@crisal.io> | Mon Mar 04 03:54:18 2019 +0100 |
tree | e0335d4c4de7b34e141f055b32fa3a22ecd55771 | |
parent | 9134679a98703879ddd081fe14b64cfae074de4a [diff] |
integration: Fix integration tests with rust 1.33. Alignment arrays are not needed anymore, since we have repr(align).
bindgen
bindgen
automatically generates Rust FFI bindings to C (and some C++) libraries.
For example, given the C header doggo.h
:
typedef struct Doggo { int many; char wow; } Doggo; void eleven_out_of_ten_majestic_af(Doggo* pupper);
bindgen
produces Rust FFI code allowing you to call into the doggo
library's functions and use its types:
/* automatically generated by rust-bindgen */ #[repr(C)] pub struct Doggo { pub many: ::std::os::raw::c_int, pub wow: ::std::os::raw::c_char, } extern "C" { pub fn eleven_out_of_ten_majestic_af(pupper: *mut Doggo); }
📚 Read the bindgen
users guide here! 📚
API reference documentation is on docs.rs