Mae IWYU (neu include-what-you-use), rhaglen sy'n eich galluogi i ddod o hyd i #includes diangen ac awgrymu rhai coll yn eich cod C/C++, wedi'i rhyddhau.
Mae "Cynnwys yr hyn rydych chi'n ei ddefnyddio" yn golygu'r canlynol: ar gyfer pob symbol (math, newidyn, swyddogaeth, neu macro) a ddefnyddir yn foo.cc, rhaid i naill ai foo.cc neu foo.h gynnwys y ffeil .h sy'n allforio datganiad y symbol hwnnw. Mae'r offeryn cynnwys-yr-hynny-rydych-yn-ei-ddefnyddio yn rhaglen sy'n dadansoddi #include s mewn ffeiliau ffynhonnell i ddod o hyd i droseddau yn erbyn y dull hwn ac yn argymell atebion. Mae'r offeryn yn defnyddio llyfrgelloedd Clang, ac mae rhyddhad fel arfer yn dynodi cydnawsedd â fersiwn newydd o Clang.
Prif nod include-what-you-use yw cael gwared ar #includes diangen. I wneud hyn, mae angen i chi nodi pa #includes sy'n ddiangen mewn ffeil benodol (ar gyfer .cc a .h) ac, os yn bosibl, disodli'r #include gyda datganiad ymlaen.
Newidiadau mawr
- Yn gydnaws â Clang 17.
- Dadansoddiad gwell o aliasau math (typedef a defnyddio).
- Dadansoddi arallenwau gofod enwau gwell (gofod enwau xyz = foobar).
- Cefnogaeth well ar gyfer datganiadau ymlaen estynedig (typedef struct Foo Bar;).
- Gwella'r broses o drin mathau o autocast a dychwelyd swyddogaethau, yn enwedig wrth weithio gyda mathau o dempledi cymhleth.
- Ychwanegwyd pragma IWYU:always_keep newydd i farcio pennawd fel y dylid ei gadw bob amser, ni waeth ble mae wedi'i gynnwys.
- Defnyddiwch fapiau'n awtomatig ar gyfer mewnosodiadau libc++ os yw libc++ yn llyfrgell safonol weithredol.
- Mapio gwell ar gyfer penawdau libc++ a posix.
Ffynhonnell: linux.org.ru
