لقد تم إصدار IWYU (أو تضمين ما تستخدمه)، وهو برنامج يسمح لك بالعثور على العناصر الزائدة عن الحاجة واقتراح #التضمينات المفقودة في كود C/C++ الخاص بك.
"تضمين ما تستخدمه" يعني أنه لكل رمز (نوع أو متغير أو وظيفة أو ماكرو) مستخدم في foo.cc، يجب أن يتضمن foo.cc أو foo.h ملف .h الذي يصدر إعلان هذا الرمز. أداة التضمين ما تستخدمه هي برنامج لتحليل ملفات المصدر #include للعثور على انتهاكات هذا الأسلوب وتقديم توصيات للتصحيح. يستخدم البرنامج مكتبات Clang وعادةً ما يعني الإصدار التوافق مع إصدار جديد من Clang.
الغرض الرئيسي من تضمين ما تستخدمه هو إزالة #التضمينات غير الضرورية. للقيام بذلك، تحتاج إلى معرفة أي #includes غير مطلوب في ملف معين (لكل من .cc و.h)، وإذا أمكن، استبدل #include بإعلان مسبق.
تغييرات كبيرة
- متوافق مع كلانج 17.
- تحسين تحليل الأسماء المستعارة للنوع (typedef والاستخدام).
- تحسين تحليل الأسماء المستعارة لمساحة الاسم (مساحة الاسم xyz = foobar).
- تحسين الدعم للإعلانات الأمامية الموسعة (typedef struct Foo Bar;).
- تحسين التعامل مع "البث التلقائي" وأنواع إرجاع الوظائف، خاصة عند العمل مع أنواع القوالب المعقدة.
- تمت إضافة براغما جديدة IWYU: Always_keep لوضع علامة على الرأس الذي يجب الاحتفاظ به دائمًا أينما تم تضمينه.
- استخدم التعيينات تلقائيًا لـ libc++ المضمنة إذا كانت libc++ هي المكتبة القياسية النشطة.
- تعيينات محسنة لرؤوس libc++ وposix.
المصدر: linux.org.ru
