foreign function interface
The way code in one language calls functions written in another.
Rust's FFI declares foreign functions in extern blocks and exports Rust functions with extern "C" signatures, communicating through C-compatible types.
Loading interactive…
Examples
unsafe extern "C" { fn strlen(text: *const c_char) -> usize; }declares a C function; in edition 2024 a bareextern "C" { ... }fails withextern blocks must be unsafe.
See also