Expand description
§Dart Bindgen
Generate Dart FFI bindings to C Header file.
§Supported C Language Features
- Functions
- Function Pointer (aka
callback
) - Simple structs (NOTE: Nested structs is not supported yet, open a PR?)
§Example
in your build.rs
:
ⓘ
let config = DynamicLibraryConfig {
ios: DynamicLibraryCreationMode::Executable.into(),
android: DynamicLibraryCreationMode::open("libsimple.so").into(),
..Default::default()
};
// load the c header file, with config and lib name
let codegen = Codegen::builder()
.with_src_header("simple-ffi/include/simple.h")
.with_lib_name("libsimple")
.with_config(config)
.build()?;
// generate the dart code and get the bindings back
let bindings = codegen.generate()?;
// write the bindings to your dart package
// and start using it to write your own high level abstraction.
bindings.write_to_file("simple/lib/ffi.dart")?;
Modules§
- config
- Bindgens config for loading
DynamicLibrary
on each Platform.
Structs§
- Bindings
- A bindings using
dart:ffi
that could be written. - Codegen
- Dart Code Generator
- Codegen
Builder - The
Codegen
Builder