Թողարկվել է IWYU (կամ ներառել-ինչ-որ օգտագործում եք), ծրագիր, որը թույլ է տալիս գտնել ավելորդ և առաջարկել բացակայող #includes ձեր C/C++ կոդը:
«Ներառել այն, ինչ օգտագործում եք» նշանակում է, որ foo.cc-ում օգտագործվող յուրաքանչյուր նշանի (տեսակի, փոփոխականի, ֆունկցիայի կամ մակրո) համար կամ foo.cc կամ foo.h-ը պետք է ներառի .h ֆայլ, որն արտահանում է այդ խորհրդանիշի հայտարարությունը: «Include-what-you-use» գործիքը #include source ֆայլերը վերլուծելու ծրագիր է՝ այս մոտեցման խախտումները գտնելու և ուղղելու առաջարկություններ տալու համար: Ծրագիրը օգտագործում է Clang գրադարանները և սովորաբար թողարկումը նշանակում է համատեղելիություն Clang-ի նոր տարբերակի հետ:
Ներառելու-ինչ-դու-օգտագործման հիմնական նպատակն է հեռացնել ավելորդ #ներառումները: Դա անելու համար դուք պետք է պարզեք, թե որ #includes-ն անհրաժեշտ չէ տվյալ ֆայլում (ինչպես .cc, այնպես էլ .h-ի համար), և, հնարավորության դեպքում, փոխարինեք #include-ը նախնական հայտարարագրով։
Հիմնական փոփոխություններ
- Համատեղելի է Clang 17-ի հետ:
- Տիպային այլանունների բարելավված վերլուծություն (typedef և use):
- Բարելավված անվանատարածքների անալիզների վերլուծություն (namespace xyz = foobar):
- Ընդլայնված առաջ հայտարարագրերի բարելավված աջակցություն (typedef struct Foo Bar;):
- Բարելավել «autocast» և գործառույթների վերադարձման տեսակների կառավարումը, հատկապես բարդ ձևանմուշների հետ աշխատելիս:
- Ավելացվեց նոր պրագմա IWYU. always_keep վերնագիր նշելու համար, որը միշտ պետք է պահվի, որտեղ էլ որ ներառված լինի:
- Ավտոմատ կերպով օգտագործեք քարտեզագրումներ ներկառուցված libc++-ի համար, եթե libc++-ը ակտիվ ստանդարտ գրադարանն է:
- Բարելավված քարտեզագրումներ libc++ և posix վերնագրերի համար:
Source: linux.org.ru