Files

550 B

C-friendly FFI Design

This document is a guide for authoring Rust libraries that expose a C-friendly FFI and distributing them as ordinary CMake/pkg-config packages. It covers how to design C-friendly FFI signatures, how to pass primitive types, enums, strings and Rust-specific constructs such as Option and Result across the boundary, and how to write the accompanying C/C++ header files.

Contents