Rust FFI

GPTKB entity

Statements (33)
Predicate Object
gptkbp:instanceOf Programming Concept
gptkbp:commonIn gptkb:C++
C
gptkbp:documentedIn Rust Reference
The Rust Programming Language Book
gptkbp:enables calling C functions from Rust
calling Rust functions from C
interoperability between Rust and other programming languages
https://www.w3.org/2000/01/rdf-schema#label Rust FFI
gptkbp:limitation Rust closures cannot be passed directly
Rust enums with data are not FFI-safe
Rust generics are not FFI-safe
not all Rust types are FFI-safe
thread safety must be managed manually
gptkbp:relatedTo bindgen
cbindgen
gptkbp:requires ABI compatibility
careful memory management
matching data layouts
gptkbp:standsFor Rust Foreign Function Interface
gptkbp:usedFor embedding Rust in existing C/C++ projects
extending Rust with C/C++ libraries
gptkbp:usedIn embedded systems
high-performance computing
game development
systems programming
gptkbp:uses extern keyword
#[no_mangle] attribute
#[repr(C)] attribute
unsafe code
gptkbp:bfsParent gptkb:Foreign_Function_Interface
gptkb:foreign_function_interface_(FFI)
gptkbp:bfsLayer 7