So finden Sie nicht verwendete Attribute / Methoden in Visual C ++ 2008

9

Gibt es eine Möglichkeit, nicht verwendete Attribute / Methoden in Visual C ++ 2008 Professional zu identifizieren? Wenn dies nicht standardmäßig möglich ist, werden auch Empfehlungen von Drittanbieter-Tools sehr geschätzt.

Danke, Danke Florian

Bearbeiten: nVerbinden funktioniert nur für .NET-Assemblys. Ich suche nach etwas, das mit nativen C ++ - Anwendungen verwendet werden kann.

    
fhe 29.09.2008, 14:09
quelle

6 Antworten

6

Probieren Sie PC-Lint aus. Es ist ziemlich gut, redundanten Code zu finden. Ich habe Version 9 noch nicht ausprobiert. Version 8 benötigt etwas Zeit für die Konfiguration. Probieren Sie die interaktive Online-Demo aus.

    
finnw 30.09.2008, 11:28
quelle
0

Ich habe ihre Produktivitätswerkzeuge nicht selbst benutzt (ich benutze ihre Windows-Steuerungsklausel), aber es sieht so aus, als hätte DevExpress einen C ++ - Refactor namens Refaktor! für C ++ . Ich habe nicht sofort die Funktionen gefunden, nach denen du suchst, aber vielleicht haben sie sie?

    
FryHard 30.09.2008 09:18
quelle
0

Coverage Validator kann nicht verwendeten C ++ - Code (aber keine Attribute) anzeigen. Es macht es dynamisch, also müssen Sie die App "exerzieren", um die Ergebnisse zu erhalten: Ссылка

    
Andy Brice 30.09.2008 13:22
quelle
0

Das Problem ist, dass viele Funktionen in C ++ existieren müssen, auch wenn sie nicht aufgerufen werden. Boost vor allem wird dies verursachen, aber sogar der normale STL-Code kann dies tun. Und dein Code muss mitspielen. Sie könnten eine Kopie ctor definieren, weil std :: vector es formell benötigt. Aber wenn Sie kein std :: vector member instanziieren, das tatsächlich ein T kopiert, bleibt Ihr copy ctor ungenutzt.

Selbst wenn sie das nicht müssen, existieren sie oft aus Sicherheitsgründen. Beispielsweise kann die Deklaration eines Konstruktors für private Kopien verhindern, dass ein Objekt unbeabsichtigt kopiert wird. Ohne die private Deklaration würde der Compiler eine öffentliche, elementweise Kopie ctor für Sie definieren. Nun, ist das "unbenutzt" und willst du vor ihnen gewarnt werden?

    
MSalters 30.09.2008 13:21
quelle
0

PC-Lint ist sehr mächtig, aber schwer zu lehnen. Natürlich beschreibt das ziemlich gut C und C ++, nicht wahr?

Ein anderes Tool, das ich für exzellent halte, ist das Visual Assist X von Whole Tomato, das direkt in die IDE integriert wird.

Es gibt einige große Probleme in C ++ bei der Suche nach nicht referenziertem Code: Vorlagen, Callbacks und Message-Handler können für Ihr Projekt entscheidend sein, werden aber nie direkt aufgerufen. Zum Beispiel wird der Handler für einen Thread nicht direkt aufgerufen, sondern ist ein Parameter, wenn Sie einen neuen Thread erstellen. Die Nachrichten vom Typ "On_buttonpress" in MFC- oder WTL-Projekten werden ebenfalls als nicht aufgerufene Methoden angezeigt.

Sobald Sie sie finden, können Sie PC-Lint konfigurieren, um diese zu ignorieren, aber das erste Mal durch viel Arbeit.

    
Doug Boone 13.05.2009 22:21
quelle
-2

nVermeiden wird es tun, zusammen mit der Reinigung Ihres Hauses und mit dem Hund spazieren gehen. Es gibt eine Nagware-Version, die kostenlos zur Verfügung steht.

Mit der folgenden Codeabfrage-Sprachanweisung erhalten Sie eine Liste nicht verwendeter Methoden

%Vor%     
user7375 29.09.2008 14:22
quelle