commit | 3108f7fabfaf63883c304fba8eaa0d77b0f19902 | [log] [tgz] |
---|---|---|
author | Garrett Nickel <garrett.nickel777@gmail.com> | Tue Jun 25 13:45:03 2019 -0700 |
committer | Garrett Nickel <garrett.nickel777@gmail.com> | Tue Jun 25 13:45:03 2019 -0700 |
tree | 1f4231f0e255dd35ff2c1dda5b39147306da3ca9 | |
parent | 55a06f30e1d5d600ca7161bdc55bc5f07c7a753f [diff] |
Make BlockPointer's canonical type in IR be itself, not as if it is an alias.
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