Ver Mensaje Individual
  #18  
Antiguo 03-03-2008
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Reputación: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile

Cita:
Empezado por Delphius Ver Mensaje
Algo de eso había leido en algún lado, no recuerdo bien si fue en la Cara Oculta o si fue algún comentario en los foros, muy posiblemente tuyo.

Si tengo un vago recuerdo de que mientras tengamos units en el uses el compilador las "explora"... ¿a eso te refieres...
Es tan sencillo como que función referida en el código -> función metida al .exe como parte del código máquina. Función no referida -> función no tocada. Igual pasa con las variables, constantes y otros elementos; al no ser usados en ningún lado del programa, el compilador no los incluye en el .exe. Pero con "referido" quiero dar a entender el que haya un claro uso del elemento en cuestión desde algún punto del árbol de llamadas y referencias cuya raíz es el "main" ("Program") de la aplicación.

Cita:
Empezado por Delphius Ver Mensaje
...Pero, si no me falla la memoria, el compilador sólo lo hace sobre aquellas units que han sido cambiadas. Esto es el comportamiento por defecto y es el que se realiza mientras uno Compile. Tengo entendido que si uno realiza Build obliga a recompilar todo...
Es correcto lo que dices, pero creo que no se interpretó bien lo que dije.

Al decir que "siempre será compilado el código de inicialización que tengan todas las unidades referidas a través de cláusulas Uses", no me refiero al análisis y validación sintácticos que hace el compilador sobre el código fuente, sino a la "integración" de dicho código en su versión ejecutable dentro del programa resultante. Cuando la unidad .pas no ha sido modificada desde su última compilación, el código se tomará directamente del archivo .dcu correspondiente. De hecho el compilador no necesita los .pas para generar un .exe, mientras existan las unidades compiladas .dcu. Es de éstas de dónde siempre toma lo necesario para crear el programa ejecutable.

Espero no haber confundido más.

Saludos.

Al.

Última edición por Al González fecha: 03-03-2008 a las 05:39:31.
Responder Con Cita