x32 - Cómo encontrar atributos/métodos no utilizados en Visual C++ 2008
microsoft visual c++ 2010 redistributable x86 (6)
nDependerá , junto con limpiar su casa y llevar al perro a dar un paseo. Hay una versión nagware disponible de forma gratuita.
La siguiente declaración de lenguaje de consulta de código le dará una lista de métodos no utilizados
WARN IF Count > 0 IN SELECT TOP 10 METHODS WHERE MethodCa == 0 AND
!IsPublic AND !IsEntryPoint AND !IsExplicitInterfaceImpl AND
!IsClassConstructor AND !IsFinalizer
¿Existe alguna manera de identificar los atributos / métodos no utilizados en Visual C ++ 2008 Professional? Si no es posible de forma predeterminada, las recomendaciones de herramientas de terceros también son muy apreciadas.
Gracias,
Florian
Editar: nDepender solo funciona para ensamblados .NET. Estoy buscando algo que pueda usarse con aplicaciones nativas de C ++.
Coverage Validator puede mostrar el código de C ++ no utilizado (pero no los atributos). Lo hace de forma dinámica por lo que debe ''exersize'' la aplicación para obtener los resultados: http://successfulsoftware.net/2008/03/10/coverage-validator/
Prueba PC-Lint . Es bastante bueno para encontrar código redundante. No he probado la versión 9 todavía. La versión 8 lleva algo de tiempo para configurarse. Pruebe la demostración interactiva en línea.
El truco es que muchas funciones en C ++ tienen que existir, incluso si no son llamadas. Boost especialmente causará esto, pero incluso el código STL regular puede hacer esto. Y tu código tiene que seguirle el juego. Puede definir un copiador porque std :: vector lo requiere formalmente. Pero si no crea una instancia de ningún miembro estándar que realmente copie una T, su copiadora no se utilizará.
Incluso si no tienen que hacerlo, a menudo existen por seguridad. Por ejemplo, declarar un constructor de copia privada puede evitar que un objeto se copie involuntariamente. Sin la declaración privada, el compilador definiría un copiador público y miembro para usted. Ahora, ¿esto "no se usa" y quieres que te avisemos sobre ellos?
PC-Lint es muy poderoso, pero difícil de usar. Por supuesto, eso describe bastante bien C y C ++ ¿no es así?
Otra herramienta que creo que es excelente es la Asistencia Visual X de Whole Tomato, que se integra directamente en el IDE.
Hay algunos inconvenientes importantes en C ++ cuando se busca código no referenciado: las plantillas, las devoluciones de llamada y los manejadores de mensajes pueden ser críticos para su proyecto, pero nunca se llaman directamente. Por ejemplo, el controlador para un hilo no se llama directamente, sino que es un parámetro cuando se crea un nuevo hilo. Los mensajes de tipo "On_buttonpress" en proyectos MFC o WTL también aparecerán como métodos no llamados.
Una vez que los encuentre puede configurar PC-Lint para ignorarlos, pero la primera vez es mucho trabajo.