rust-bindgen
rust-bindgen copied to clipboard
Automatically generates Rust FFI bindings to C (and some C++) libraries.
When building bindgen with clang static and gcc 11.2, it will fail with sigsev invalid memory reference, this is a conflict with clang-sys likely and newer gcc. ## Error ```shell...
The PR referenced [here](https://github.com/rust-lang/rust-bindgen/pull/2549#discussion_r1224838215) makes bindgen error if the ABI of a function is not supported in the current target. No test was triggered by this so we need to...
When using bindgen on Windows, it is important to know if the library being linked with dynamically or statically as exported global variables from a DLL need their corresponding import...
Closes #2835 Simply skip emitting it if the list of blocklisted types/items matches its name. Also add a test that verifies blocklisting anonymous types by `_bindgen_ty_*` works as expected – ...
Hi! This is kind of a feature request for a (maybe unusual) use case where bindings are generated in multiple different crates. In our case we have [`citro3d-sys`](https://github.com/rust3ds/citro3d-rs/tree/main/citro3d-sys) which depends...
Preface: Bindgen is a very useful tool. Thank you for releasing it! # Background As indicated in #1431 and #2791 `__IncompleteArrayField` purposefully doesn't implement `Clone` or `Copy` and structs containing...
Currently, the following is generated: ```rs extern "C" { #[doc = "[…]"] pub fn wmem_alloc(allocator: *mut wmem_allocator_t, size: usize) -> *mut ::std::os::raw::c_void; } ``` I'd like to have an extra...
### Input C/C++ Header ```C++ #include ``` ### Bindgen Invocation ``` bindgen ./test.h -o test.rs -- --target=wasm32-unknown-unknown ``` stdlib.h, inttypes.h, string.h, assert.h also have the same problem ### Actual Results...
Hi @emilio, while working on the fix for the case that wasn't handled in #2779, I noticed that bindgen can't support generating bindings for `UINTMAX64`. This is largely because all...
### Input C/C++ Header ```C++ #define CCHDEVICENAME 32 typedef long LONG; typedef char CHAR; typedef unsigned long DWORD; typedef struct tagRECT { LONG left; LONG top; LONG right; LONG bottom;...