項目34:FFI境界を通過するものを制御しよう
LT;DR
FFI 境界 で問題が起こる可能性を最小化するために、以下を行うこと メモリの確保と解放は常に境界を挟んだどちらか一方で行う
サイズの指定された整数型を用いる(e.g. uint32_t)
標準ライブラリで提供されている FFI 関連のヘルパを用いる
e.g. CString、Cstr、Box::into_raw / Box::from_raw
未定義動作を引き起こす可能性があるため、Rust の panic! は FFI 境界 を通過しないようにする hr.icon
FFI(Foreign Function Interface)は、関数のみに限らずデータ構造も相互作用が可能