Thema: ffi
-
CString an einer FFI-Grenze: geliehenen Zeiger von übertragenem Besitz unterscheiden
Den CString-Eigentümer bei geliehenen Aufrufen am Leben halten und die rohe Besitzübertragung nur unter einem expliziten Rückgabevertrag verwenden.
-
Rust-FFI-Layout: repr(C) an einer äusseren Struct repariert keine verschachtelten Felder
Jedes Feld überprüfen, das eine C-ABI-Grenze überquert, und das Layout auf jedem unterstützten Zielsystem verifizieren.
-
Ressourcenzuständigkeit bei Rust-FFI: den fremden Konstruktor mit seinem tatsächlichen Destruktor paaren
Allokation, Freigabe und Callback-Lebensdauer in einem engen Rust-Wrapper um fremde Ressourcen explizit machen.
-
Rust-FFI-Unwinding: eine explizite Grenze für Panics und Exceptions wählen
Gewöhnliche Fehlerrückgaben, Rust-Panics und fremde Exceptions trennen, bevor die ABI der Grenze gewählt wird.
Maschinenlesbar: JSON