Издаден е релиз IWYU (или include-what-you-use), програма, която позволява да се откриват излишни и да се предлагат липсващи #include в кода ви на C/C++.

„Включай каквото използваш“ означава следното: за всеки символ (тип, променлива, функция или макрос), използван в foo.cc, или foo.cc, или foo.h трябва да включва .h файл, който експортира декларацията на този символ. Инструментът include-what-you-use е програма за анализ на #include в изходните файлове с цел откриване на нарушения на този подход и предоставяне на препоръки за коригирането им. Програмата използва библиотеките Clang и обикновено релизът означава съвместимост с новата версия на Clang.

Основната цел на include-what-you-use е премахването на ненужни #include. За това е необходимо да се установи кои #include не са нужни в дадения файл (както за .cc, така и за .h) и по възможност да се замени #include с предварителна декларация.

Основни промени

  • Съвместимост с Clang 17.
  • Подобрено е анализа на псевдоними за типове (typedef и using).
  • Подобрено е анализа на псевдоними за пространство от имена (namespace xyz = foobar).
  • Подобрена е поддръжката на разширени предварителни декларации (typedef struct Foo Bar;).
  • Подобренo е обработването на „автокаст“ и върнати типове от функции, особено при работа със сложни шаблонни типове.
  • Добавена е нова pragma IWYU: always_keep, позволяваща да се маркира заглавието, че то трябва винаги да се запазва, независимо къде е включено.
  • Автоматично използване на съвпадения за builtins libc++, ако libc++ е активната стандартна библиотека.
  • Подобрение на съвпаденията за заглавията libc++ и posix.

Източник: linux.org.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster