Existe-t-il un outil / moyen de détecter / supprimer toutes les variables, macros, en-têtes (inclus) et fonctions inutilisés du code c ++?
J'ai eu de personnaliser certains projets qui ont été écrites pour d'autres fins, mais certaines fonctionnalités de base est le même pour mon projet et travaille en tant qu'il est. Mais Il y a beaucoup de variables, macros,fonctions, etc.. qui ne sont pas utiles pour mon contexte actuel et qu'ils sont simplement de faire le code très mal à l'aise à lire et inutilement grand.
J'ai donc commencé à supprimer les variables macros fonctions etc.. à l'aide de "Trouver des Références" et "Afficher le Graphe d'Appel" dans Netbeans. Je suis à l'aide de netbeans à distance outils de développement c/c++.
Mais son lourd. Donc, Est-il un outil pour ce faire nettoyer??
source d'informationauteur Sreekar
Vous devez vous connecter pour publier un commentaire.
De ce que je sais il n'existe actuellement aucun outil qui fait toutes les choses que vous avez mentionnées, cependant il en est un qui aide dans le nettoyage de la inutilisés inclure les en-têtes: inclure ce que vous utilisez
On pourrait s'attendre à ce que la Clang analyseur statique le ferai, mais de ce que je vois la disponible des contrôles n'offrent pas de telles choses.
Ce pourrait être un bon moment pour que quelqu'un suggérer une demande de fonctionnalité de l'analyseur ou de la création d'un outil à l'aide de LibTooling sur un même pied d'égalité avec les outils décrits à Clang Outils
En attendant, je vous suggère de vous permettre -Mur et -Wextra drapeaux du compilateur, ce qui va déclencher les mises en garde suivantes (entre autres)(voir la GCC docs ci-dessous):
Si pour quelque raison vous ne voulez pas le faire, vous pouvez simplement ajouter -Wunused qui permettra qu'une ci -Wunused options combinées, sans les autres indicateurs de Mur ou -Wextra ajoute.
Bien sûr, cela signifie que vous avez à faire le nettoyage manuellement
Si vous voulez être très pédant vous pouvez ainsi convertir toutes les mises en garde sur les erreurs en ajoutant le -pedantic-erreurs drapeau
Pour plus de détails, lire le GCC Options des Avertissements de la documentation.
J'ai parfois utilisé la méthode de marquage d'un gros bloc de code comme "non utilisé" par l'ajout d'
Vous pouvez compiler le code et de voir ce qui va mal. L'analyse du "non déclarées varibale X" erreurs que vous obtenez et rétablir les bits nécessaire pour cela. Vous pouvez faire ceci en "coupant" le
#if 0
bloc (ajout d'un#endif
puis une nouvelle#if 0
un peu plus bas), ou en déplaçant les pièces dont vous avez besoin de sortir du bloc courant.Par exemple, si vous avez un bloc de variables globales ou des macros, il suffit de mettre
#if 0
autour d'eux, et voir ceux qui sont effectivement utilisés. [Bien que les macros peuvent être un peu plus délicat si elles sont utilisées dans#ifdef
et telle].Je serais surpris s'il n'y a pas un outil, mais en même temps, il vous reste à faire le travail de découpage, et une fois que vous avez un gros morceau de code dans
#if 0 ... #endif
il est assez facile de le couper.De nombreux outils d'analyse de code statique fournir les informations que vous souhaitez. Wikipedia a une liste.
Nous avons utilisé avec succès un tel outil (avec quelques modifications) pour supprimer comprend et d'accélérer les temps de compilation.