2010-11-25 10 views
7

Después de leer about the pimpl idiom ¡estaba horrorizado!C++: herramienta para reducir las dependencias de tiempo de compilación automáticamente

¿No hay una herramienta que pueda inspeccionar un archivo .h/.cpp y deducir las dependencias que se pueden eliminar?

+0

No, no hay. La única "herramienta" que puede decir de manera fiable qué dependencias son necesarias es el propio compilador de C++ ... le dio a Daniel un 1 desde su declaración coincide exactamente con mi opinión. –

Respuesta

2

Lo sentimos, pero no, no lo hay. C++ todavía se basa en preprocesar archivos fuente, muy mecánicos. El desarrollo de C++ a gran escala se trata de reducir las dependencias. En mi opinión, C++ simplemente no es adecuado para ese tipo de tareas.

0

La inspección del código estático para C++ es una pesadilla, debido a su sintaxis y macroprocesador, dudo que haya herramientas como la que usted describe.

Si existiera, ¿qué esperarías de ella? ¿Le gustaría refactorizar/reescribir el código para usted? ¿Agregar y/o eliminar qué?

Suena como una tarea desalentadora para mí.

+0

Me gustaría sugerir qué inclusiones podrían eliminarse, lo que podría ser reemplazado por declaraciones de reenvío y que deben mantenerse – Jonathan

2

Hacer precompilar los encabezados no resuelve muchos de estos horrores. Tanto MS como g ++ son compatibles ahora.

+0

¿Tiene una referencia para esto? – Jonathan

+1

@Jonathan para gcc: http://gcc.gnu.org/onlinedocs/gcc/Precompiled-Headers.html, para MS: http://msdn.microsoft.com/en-us/library/szfdksca.aspx – Tom

+0

@ Tom: no, en realidad resuelven un solo problema: reducir * recopilación completa * tiempo. Además, si sus encabezados precompilados incluyen encabezados intercambiables, los está utilizando indebidamente. –

Cuestiones relacionadas