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
