I-IWYU (noma hlanganisa-lokho-usebenzisa) ikhishiwe, uhlelo olukuvumela ukuthi uthole okungafuneki futhi luphakamise ukuthi ulahlekile #uhlanganisa kukhodi yakho ye-C/C++.
"Bandakanya okusebenzisayo" kusho ukuthi kulo lonke uphawu (uhlobo, okuguquguqukayo, umsebenzi, noma ama-macro) asetshenziswa ku-foo.cc, kungaba foo.cc noma foo.h kufanele kufake ifayela elingu-.h elithumela ngaphandle isimemezelo salolo phawu. Ithuluzi elihlanganisa nokuthi yini oyisebenzisayo iwuhlelo lokuhlaziya okuthi #faka phakathi amafayela omthombo ukuze uthole ukwephulwa kwale ndlela yokwenza futhi wenze izincomo zokulungiswa. Uhlelo lusebenzisa imitapo yolwazi ye-Clang futhi ngokuvamile ukukhishwa kusho ukuhambisana nenguqulo entsha ye-Clang.
Inhloso enkulu yokuhlanganisa-lokho-okusebenzisayo ukususa okungadingekile #includes. Ukuze wenze lokhu, udinga ukuthola ukuthi yikuphi okungu-#okuhlanganisa okungadingeki efayeleni elinikeziwe (kukho kokubili okuthi .cc kanye .h), futhi, uma kungenzeka, buyisela okuthi #faka ngesimemezelo sangaphambili.
Izinguquko ezinkulu
- Ihambisana neClang 17.
- Ukuhlaziywa okuthuthukisiwe kweziteketiso zohlobo (typedef nokusebenzisa).
- Ukuhlaziywa okuthuthukisiwe kweziteketiso zesikhala segama (indawo yegama xyz = foobar).
- Ukusekelwa okuthuthukisiwe kwezimemezelo ezinwetshiwe zaphambili (typedef struct Foo Bar;).
- Thuthukisa ukuphathwa kwe-"autocast" nezinhlobo zokubuyisela umsebenzi, ikakhulukazi uma usebenza ngezinhlobo zezifanekiso eziyinkimbinkimbi.
- Kwengezwe i-pragma entsha IWYU: always_keep ukumaka unhlokweni okufanele uhlale ugcinwe noma yikuphi lapho ufakwe khona.
- Sebenzisa ngokuzenzakalelayo amamephu we-builtin libc++ uma i-libc++ iwumtapo wezincwadi ojwayelekile osebenzayo.
- Amamephu athuthukisiwe we-libc++ kanye nezihloko ze-posix.
Source: linux.org.ru
