テーマ: ffi
-
FFI 境界の CString:借用ポインターと所有権の移転を区別する
借用する呼び出しでは CString の所有者を生存させ、所有権を raw 形式へ変換するのは明示的な返却契約がある場合に限ります。
-
Rust FFI のレイアウト:外側の構造体に repr(C) を付けても入れ子のフィールドは修正されない
C ABI 境界を越えるすべてのフィールドを確認し、対応する各ターゲットでレイアウトを検証する。
-
Rust FFI のリソース所有権:外部コンストラクターを実際のデストラクターと組にする
外部リソースを包む限定的な Rust ラッパーで、割り当て、解放、コールバックの有効期間を明示する。
-
Rust FFI のスタック巻き戻し:パニックと例外の境界を明示的に選ぶ
境界の ABI を選ぶ前に、通常のエラー戻り値、Rust のパニック、外部言語の例外を分けて考える。
機械可読: JSON