Pregunta

¿Por qué C++ Builder 6 siempre compilar todos los archivos?

Hago algunos cambios en un archivo, pero BCB 6 compila todos los archivos cuando yo inicie la aplicación.Alguna idea?Yo uso Windows XP SP2.

¿Fue útil?

Solución

probar este plugin para el BCB compilador:Bcc32Pch IDE Plugin

Otros consejos

Estás archivos de código fuente y binario objetos que se encuentran en la misma máquina?Si no suena como que tiene un problema de sincronización de hora de red.

Si ellos son su más probable es que un archivo de encabezado problema, el compilador de incluir los archivos tienen una fecha de modificación algún momento en el futuro o que su aplicación dependa de algún archivo de encabezado que los cambios durante la compilación decir de un COM importación.

EDITAR:Compruebe el ajuste SV tiene una bandera para siempre volver a compilar, esto podría ser cierto para el BCB, si se ha configurado, a continuación, deshacer.Otra posibilidad es que los encabezados precompilados se pierda-configurado para generar en cada archivo de código fuente.

Yo no estoy familiarizado con el BCB 6 para dar una respuesta más precisa.

Usted ha hecho todos o muchos de sus archivos dependientes de un módulo en particular?

Los archivos que dependen de un módulo en particular será reconstruido en cualquier momento que el módulo de la estructura de la clase (contenida en el .h archivo) es modificada.Si, por ejemplo, tiene un módulo de datos que es consultada por muchos otros módulos, podrás ver una reconstrucción de todos los módulos dependientes cada vez que el módulo de datos de la clase de estructura es modificada.

Hay un pragma en Borland, que controla el número de líneas de código se vuelve a compilar.

En los últimos años he logrado (en algún proyecto), que sólo los cambios de mi fuente se compila.No sé si esto va a ser trabajado en las versiones más recientes de borland

Borland 6 tiene un pragma "hdrstop".esta es sólo activo si la opción de proyecto de "Pre-Compilar los encabezados" NO es "ninguno"

años tengo un ordenador muy lento i acelerar el compilition tiempo de horas a minutos, con el siguiente truco

todos los cpps se han convertido en esta primera línea

#include "all.h"
#pragma hdrstop

por defecto fue una inclusión de "vcl.h"

"todos.h" se incluye todo el encabezado, los cuales son necesarios en todos!unidades.cada unidad va a saltar todas las fuentes, que dependen de encabezado antes de pragma hdrstop.

Ejemplo:

Unit1.h

 #include <string>

Unit1.cpp

   #include "all.h"
   #pragma hdrstop

   #include "Unit1.h"

Unit2.h

 #include <vcl>

Unit2.cpp

   #include "all.h"
   #pragma hdrstop

   #include "Unit2.h"

todos.h

   #include <string>
   #include <vcl>

La importación de

  1. no utilizar todos.h en headerfiles
  2. usted puede agregar todos los incluye, los cuales son utilizados en el proyecto encabezado, como ,
  3. Todas las fuentes que dependen de la "pre-compilado de los encabezados" no se compila de nuevo!
  4. la generación de encabezados precompilados será lenta!Tan sólo añadir las cabeceras de todos.h, el cual no podrá ser cambiado con frecuencia.Como sistema de encabezados o los encabezados que ya ha terminado.
  5. la compilación puede ser fallado.a veces el orden de los incluye a producir un "estancamiento" de la comilation.si su ocurrir, desactivar "encabezados precompilados".La mayoría de los problemas se resuelven, si usted escribe su c++ y en java:cada clase se convierten en sus propios archivos(cpp y h).
  6. El nombre de archivo en la opción proyecto "encabezados precompilados" muestra el nombre de la real precompilado archivos.una unidad puede compartir un archivo precompilado con otra unidad, si se tiene (exacta) de la misma incluye antes de "pragma hdrstop".El mejor rendimiento se alcanza, si usted sólo tiene un archivo con una numérico de postfix.Ejemplo para más de un archivo de encabezado precompilado:

Unit1.h

 #include <string>

Unit1.cpp

   #include "all.h"
   #pragma hdrstop

   #include "Unit1.h"

Unit2.h

 #include <vcl>

Unit2.cpp

   #include <vcl> //!!!!!!!!!!!!!!!!!!! produce a second version of an precompiled file
   #pragma hdrstop

   #include "Unit2.h"

todos.h

  #include <string>
  #include <vcl>

Asegúrese de que está utilizando el comando "make" y no la "construcción" de comandos, a menos que sea necesario.

Hacer un proyecto con las herramientas de Borland ha parecido siempre tienen ese problema, que no necesariamente aviso de que han cambiado y empieza a compilar todo.

Mira la Pre-Compilado de los Encabezados de las opciones, lo que puede ayudar a acelerar las cosas.

Cuando Borland/CodeGear, a partir de C++Builder 2007, se pasó a la MSBuild sistema, las compilaciones que han ido mucho más rápido y son más eficientes.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top