IWYU 0.21

Ua hoʻokuʻu ʻia ʻo IWYU (a i ʻole e hoʻokomo i ka mea āu e hoʻohana ai), kahi papahana e ʻae iā ʻoe e ʻimi i nā mea ʻē aʻe a manaʻo i ka nalo ʻana #includes i kāu code C/C++.

"Hoʻokomo i kāu mea e hoʻohana ai" no kēlā me kēia hōʻailona (ʻano, hoʻololi, hana, a macro) i hoʻohana ʻia ma foo.cc, ʻo ka foo.cc a i ʻole foo.h pono e hoʻokomo i kahi faila .h e hoʻokuʻu aku i ka hoʻolaha o kēlā hōʻailona. ʻO ka mea hana hoʻokomo-ka-oe-hoʻohana he polokalamu ia no ka nānā ʻana i nā faila kumu no ka ʻimi ʻana i nā hewa o kēia ala a hana i nā manaʻo no ka hoʻoponopono ʻana. Hoʻohana ka papahana i nā hale waihona puke Clang a ʻo ka mea maʻamau ka hoʻokuʻu ʻana ʻo ia ka hoʻohālikelike ʻana me kahi mana hou o Clang.

ʻO ke kumu nui o ka hoʻokomo ʻana i ka mea āu e hoʻohana ai, ʻo ia ka wehe ʻana i nā #includes pono ʻole. No ka hana ʻana i kēia, pono ʻoe e noʻonoʻo i ka #includes ʻaʻole pono i kahi faila i hāʻawi ʻia (no ka .cc a me .h), a inā hiki, e hoʻololi i ka #include me kahi ʻōlelo mua.

Hoʻololi nui

  • Kūpono me Clang 17.
  • Hoʻomaikaʻi ʻia ka nānā ʻana o nā ʻano aliases (typedef a me ka hoʻohana ʻana).
  • Hoʻomaikaʻi ʻia ka nānā ʻana o nā inoa inoa inoa (namespace xyz = foobar).
  • Hoʻomaikaʻi i ke kākoʻo no nā ʻōlelo hoʻolaha i hoʻonui ʻia (typedef struct Foo Bar;).
  • E hoʻomaikaʻi i ka lawelawe ʻana o "autocast" a me nā ʻano hoʻihoʻi hana, ʻoi aku ka nui o ka hana ʻana me nā ʻano hoʻohālike paʻakikī.
  • Hoʻohui ʻia kahi pragma IWYU hou: mau_keep e hōʻailona i kahi poʻomanaʻo e mālama mau ʻia i nā wahi a pau i hoʻokomo ʻia.
  • E hoʻohana 'akomi i nā palapala 'āina no nā libc++ i kūkulu ʻia inā ʻo libc++ ka waihona maʻamau.
  • Hoʻomaikaʻi ʻia nā palapala palapala no libc++ a me nā poʻomanaʻo posix.

Source: linux.org.ru

Pākuʻi i ka manaʻo hoʻopuka