This document discusses interfacing Rust and C/C++ code using FFI. It describes using CBindgen to generate C/C++ headers from Rust to expose functions and types to C/C++. Similarly, Bindgen can generate Rust bindings from C/C++ headers. Error handling across the FFI boundary using Result instead of exceptions is also covered. Finally, issues like different ABIs, calling conventions and allocators between languages are discussed.