de análisis y resolución de unión es un proceso lento , este es un problema debido a que el usuario espera que la edición de código características tales como asistencia de contenido para ser rápido. Por esta razón las tiendas CDT información vinculante en un disco en caché llamado “índice” o “la PDom” (modelo de objetos persistentes de documentos) en fin de ser capaz de proporcionar características que responden rápidamente a las peticiones de los usuarios.
La construcción del índice implica analizar todo el código en un proyecto, resolver todos los enlaces y escribir esas fijaciones al índice. El índice es y luego se actualiza incrementalmente cada vez que el usuario edita un archivo.
Las versiones anteriores de apoyo CDT tres modos diferentes de indexación, rápido indexación, indexación completa y sin indexación. La configuración predeterminada es el indexador rápido porque la indexación de un proyecto grande puede consumir mucho tiempo en el proceso . La diferencia entre los indexadores rápidos y completos es que el indexador rápida saltará archivos de cabecera que ya se han analizado una vez, mientras que el indexador completa siempre re-analizar un archivo de cabecera cada vez que está incluido. Sin embargo, es importante saber que el indexador completo, a pesar de su nombre, aún no es completamente preciso.
Cuando un archivo de cabecera se incluye en un archivo fuente que está sujeta a ningún macros que se han definido en ese punto . Algunos encabezados de biblioteca usan las macros junto con el preprocesador condicionales (#ifdefs) parcialmente incluyen un archivo de encabezado. A veces, tales un archivo de cabecera se incluye más de una vez en un proyecto, si las macros que la cabecera depende son diferentes cada vez que se incluye el encabezado entonces diferentes partes de la cabecera pueden incluidos en diferentes archivos de origen. Ningún indexador será preciso en este escenario porque solo mostrará el encabezado la primera vez que se encuentre .
El indexador completo volverá a analizar los encabezados que ya ha encontrado, pero no los volverá a indexar. Por lo tanto, los archivos de origen que incluyen un encabezado pueden analizarse con mayor precisión, , pero el encabezado solo se indexará el una vez. El indexador completo es mucho más lento que el indexador rápido porque del análisis extra lo hace, pero es solo marginalmente más preciso. Para esta razón, el indexador completo no es recomendado y se ha eliminado de la versión actual de CDT.
Cada proyecto tiene asociado un solo PDOM . El PDOM se almacena en el disco como un archivo binario plano. El indexador solo indexará los encabezados que están incluidos en los archivos fuente, por lo que si hay un archivo .h en el proyecto que no está siendo incluido por ningún archivo .c o .cpp, entonces normalmente no se obtendrá indexado. Sin embargo, hay una configuración de preferencia para indexar todos los archivos en el proyecto .
¿Sigue siendo el caso, en Eclipse Kepler, de que haya dos indexadores disponibles? No veo dos ... tal vez uno ha sido eliminado? – einpoklum