IWYU 0.21

Die Veröffentlichung von IWYU (oder include-what-you-use), einem Programm, das überflüssige und fehlende #include in Ihrem C/C++-Code findet, ist erfolgt.

"Was Sie verwenden, sollten Sie einbinden" bedeutet Folgendes: Für jedes Symbol (Typ, Variable, Funktion oder Makro), das in foo.cc verwendet wird, muss entweder foo.cc oder foo.h die .h-Datei einbinden, die die Deklaration dieses Symbols exportiert. Das Include-What-You-Use-Tool ist ein Programm zur Analyse der #include-Anweisungen in Quell-Dateien, um Verstöße gegen diesen Ansatz zu finden und Empfehlungen zur Behebung auszugeben. Das Programm nutzt die Clang-Bibliotheken und eine Veröffentlichung bedeutet normalerweise Kompatibilität mit einer neuen Version von Clang.

Das Hauptziel von include-what-you-use ist die Entfernung überflüssiger #include-Anweisungen. Dazu muss festgestellt werden, welche #include in dieser Datei (sowohl für .cc als auch für .h) nicht benötigt werden, und wo möglich #include durch Vorwärtsdeklarationen ersetzt werden.

Wesentliche Änderungen

  • Kompatibilität mit Clang 17.
  • Verbesserte Analyse von Typ-Aliasen (typedef und using).
  • Verbesserte Analyse von Namensraum-Aliasen (namespace xyz = foobar).
  • Erweiterte Unterstützung für ausgeweitete Vorwärtsdeklarationen (typedef struct Foo Bar;).
  • Verbesserte Verarbeitung von "Autocasts" und Rückgabewerten von Funktionen, insbesondere bei der Arbeit mit komplexen Vorlagentypen.
  • Eine neue IWYU-Direktive wurde hinzugefügt: always_keep, die es ermöglicht, einen Header zu kennzeichnen, dass er immer beibehalten werden sollte, egal wo er eingebunden wird.
  • Automatische Verwendung von Zuordnungen für libc++-Builtins, wenn libc++ die aktive Standardbibliothek ist.
  • Verbesserte Zuordnungen für libc++-Headers und posix.

Quelle: linux.org.ru

60GB SSD 8Gb DDR4