أدوات لإيجاد غير المستخدمة وظيفة الإعلانات?

StackOverflow https://stackoverflow.com/questions/100221

  •  01-07-2019
  •  | 
  •  

سؤال

في حين إعادة بيع ديون قديمة رمز أدركت أن رأس ملف كامل من وظيفة الإعلانات عن وظائف منذ فترة طويلة إزالتها من .الملف cpp.لا أحد يعرف من أداة يمكن أن تجد (غزة) هذه تلقائيا ؟

هل كانت مفيدة؟

المحلول

هل يمكن إذا كان من الممكن جعل test.cpp الملف أن ندعو لهم كل رابط وسوف العلم تلك التي لا الشفرة لم تحل هذه الطريقة اختبار التعليمات البرمجية فقط تحتاج إلى ترجمة ولا تقلق بشأن فعلا على التوالي.

نصائح أخرى

PC-الوبر يمكن tunned مخصص الغرض:

اختبرت البرمجية التالية ضد لسؤالك:

void foo(int );

int main()
{
    return 0;
}
lint.bat test_unused.cpp

وحصلت على النتيجة التالية:

============================================================

--- Module:   test_unused.cpp (C++)

    --- Wrap-up for Module: test_unused.cpp

Info 752: local declarator 'foo(int)' (line 2, file test_unused.cpp) not referenced
test_unused.cpp(2) : Info 830: Location cited in prior message

============================================================

حتى تتمكن من تمرير التحذير رقم 752 الخاص بك puropse:

lint.bat  -"e*"  +e752  test_unused.cpp

-e"*" سيتم إزالة كافة التحذيرات +e752 سيتم تشغيل هذه واحدة محددة

إذا كنت المؤشر إلى رمز مع Doxygen ترون من حيث هو كل وظيفة المشار إليها.ومع ذلك, سيكون لديك من خلال تصفح كل فئة (1 صفحة HTML في الصف الواحد) و تفحص تلك التي لا تملك أي شيء تشير إليها.

بدلا من ذلك, يمكنك استخدام ctags إلى توليد قائمة من جميع الوظائف في القانون ، ومن ثم استخدام objdump أو بعض أداة مشابهة للحصول على قائمة من كافة وظيفة في .س الملفات -- ومن ثم مقارنة تلك القوائم.ومع ذلك ، فإن هذا يمكن أن يكون مشكلة بسبب اسم من الضغط.

أنا لا أعتقد أن هناك شيء من هذا القبيل لأن بعض الوظائف لا وجود الجسم في المصدر الفعلي شجرة قد تكون محددة في بعض الخارجي المكتبة.هذا يمكن أن يتم إلا عن طريق إنشاء البرنامج النصي الذي يجعل قائمة الوظائف المعلنة في رأس يتحقق إذا كان يطلق عليها في بعض الأحيان.

لدي C++ ftplugin على همة هو أن تتمكن من هو الاختيار تقرير لا مثيل لها وظائف -- vimmers ، ftplugin جناح لم واضحة إلى تثبيت.على ftplugin على أساس ctags النتائج (ومن ثم الكشف عن مجريات الأمور يمكن أن تتكيف بسهولة مع البيئات الأخرى), في بعض الأحيان هناك ايجابيات كاذبة في قضية وظائف مضمنة.

HTH,

بالإضافة Doxygen (@ميلان Babuskov), يمكنك أن ترى إذا كان هناك تحذيرات في المترجم.E. g.مجلس التعاون الخليجي -Wunused-وظيفة ثابتة المهام ؛ -fdump-ipa-cgraph.

لقد سمعت أشياء جيدة عن PC-الوبر, ولكن أتصور أنه ربما مبالغة لتلبية الاحتياجات الخاصة بك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top