Toolverse
Wszystkie skille

analyze-rust-ffi-crate-surface

autor: RediSearch

Mapuj symbole Rust FFI w kodzie C i znajdź miejsca ich użycia

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Backend
Wyświetlenia
9

O skillu

Umiejętność do analizy interfejsów między kodem Rust a C. Skanuje Rust FFI crate'y, wyodrębnia wszystkie symbole eksportowane do C (funkcje, typy danych), a następnie znajduje miejsca ich użycia w kodzie C. Przydatna przy ocenie wpływu zmian w bibliotekach Rust na istniejący kod C oraz przy refaktoryzacji interfejsów międzyjęzykowych.

Jak używać

  1. Przygotuj ścieżkę do Rust crate'u lub pliku FFI, który chcesz analizować. Jeśli ścieżka nie zaczyna się od src/, system automatycznie założy, że znajduje się w katalogu src/redisearch_rs/c_entrypoint. Na przykład numeric_range_tree_ffi zostanie rozwinięty do src/redisearch_rs/numeric_range_tree_ffi.

  2. Uruchom umiejętność, podając ścieżkę do Rust crate'u lub pliku. Możesz analizować jeden plik, cały katalog lub wiele ścieżek jednocześnie, przekazując je jako argumenty.

  3. Umiejętność przeskanuje pliki Rust i wyodrębni wszystkie symbole FFI eksportowane do C, takie jak funkcje oznaczone extern "C" fn z atrybutem #[unsafe(no_mangle)] oraz definicje typów. W razie potrzeby skorzysta z auto-generowanych plików nagłówkowych z katalogu src/redisearch_rs/headers.

  4. Dla każdego znalezionego symbolu umiejętność przeszuka kod C, aby ustalić, gdzie jest on używany — w wywołaniach funkcji, jako typ argumentu, typ pola struktury lub w rzutowaniu typów.

  5. Otrzymasz raport zawierający dla każdego symbolu: nazwę symbolu, moduły C, które go używają, typ symbolu (funkcja, typ danych itp.) oraz informację, czy jest używany wyłącznie w testach jednostkowych.

  6. Przeanalizuj raport, aby zidentyfikować zależności między kodem Rust a C i ocenić potencjalny wpływ planowanych zmian w interfejsie FFI.

Podobne skille