IWYU 0.21

IWYU (oder Include-What-You-Use) wurde veröffentlicht, ein Programm, mit dem Sie redundante #Includes in Ihrem C/C++-Code finden und fehlende vorschlagen können.

„Einschließen, was Sie verwenden“ bedeutet Folgendes: Für jedes in foo.cc verwendete Symbol (Typ, Variable, Funktion oder Makro) muss entweder foo.cc oder foo.h die .h-Datei einschließen, die die Deklaration dieses Symbols exportiert. Das Tool „Include-What-You-Use“ ist ein Programm zum Analysieren von #include-Quelldateien, um Verstöße gegen diesen Ansatz zu finden und Korrekturen zu empfehlen. Das Programm verwendet Clang-Bibliotheken und normalerweise bedeutet eine Veröffentlichung Kompatibilität mit einer neuen Version von Clang.

Der Hauptzweck von „include-what-you-use“ besteht darin, unnötige #includes zu entfernen. Dazu müssen Sie herausfinden, welche #includes in einer bestimmten Datei nicht benötigt werden (sowohl für .cc als auch für .h), und wenn möglich die #includes durch eine Vorwärtsdeklaration ersetzen.

Wichtige Änderungen

  • Kompatibel mit Clang 17.
  • Verbessertes Parsen von Typaliasen (typedef und using).
  • Verbessertes Parsen von Namespace-Aliasen (Namespace xyz = foobar).
  • Verbesserte Unterstützung für erweiterte Vorwärtsdeklarationen (typedef struct Foo Bar;).
  • Verbessern Sie die Handhabung von Autocast- und Funktionsrückgabetypen, insbesondere beim Arbeiten mit komplexen Vorlagentypen.
  • Ein neues Pragma IWYU:always_keep wurde hinzugefügt, um einen Header so zu markieren, dass er immer beibehalten wird, unabhängig davon, wo er eingefügt wird.
  • Verwenden Sie automatisch Zuordnungen für integrierte libc++-Funktionen, wenn libc++ die aktive Standardbibliothek ist.
  • Verbesserte Zuordnungen für libc++- und POSIX-Header.

Source: linux.org.ru

Kommentar hinzufügen