Toolverse
Wszystkie skille

llvm-tooling

autor: gmh5225

Rozwijaj narzędzia analizy kodu z infrastrukturą LLVM i Clang

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Autor
gmh5225
Kategoria
DevOps
Wyświetlenia
11

O skillu

Umiejętność tworzenia wtyczek Clang, rozszerzeń debuggera LLDB, integracji LSP i narzędzi LibTooling. Skorzystaj z tej umiejętności, gdy budujesz narzędzia do analizy kodu źródłowego, refaktoryzacji, rozszerzeń debuggera lub integracji z IDE. Zawiera przykłady architektury wtyczek, obsługę AST i rejestrację funkcjonalności w ekosystemie LLVM.

Jak używać

  1. Przygotuj środowisko: zainstaluj LLVM i Clang wraz z nagłówkami deweloperskimi. Upewnij się, że masz dostęp do narzędzia llvm-config, które będzie potrzebne do pobrania flag kompilacji.

  2. Stwórz plik wtyczki Clang zawierający klasy RecursiveASTVisitor, ASTConsumer i PluginASTAction. Wtyczka powinna dziedziczić z PluginASTAction i implementować metodę CreateASTConsumer do przetwarzania drzewa AST.

  3. Zarejestruj wtyczkę w rejestrze FrontendPluginRegistry, podając unikalną nazwę i opis. Ta rejestracja umożliwi Clangowi dynamiczne załadowanie wtyczki podczas kompilacji.

  4. Skompiluj wtyczkę jako bibliotekę współdzieloną (.so) za pomocą clang++ z flagami -shared -fPIC. Użyj llvm-config do pobrania wymaganych flag kompilacji i linkowania.

  5. Uruchom Clang z załadowaną wtyczką, przekazując flagi -Xclang -load, -Xclang -plugin i nazwę wtyczki. Wtyczka będzie przetwarzać kod źródłowy podczas normalnego procesu kompilacji.

Podobne skille