201
C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más / concepto de unidad de compilación en C/C++
« en: 06 de Septiembre 2013, 18:18 »
PREGUNTA: En el lenguaje C/C++, las unidades de compilación son:
a) Sólo el programa principal y el fichero de implementación de los módulos
b) Sólo el fichero de implementación de los módulos
c) El programa principal, el fichero de interfaz y el fichero de implementación de los módulos
d) Sólo el programa principal y el fichero de implementación de los módulos
RESPUESTA: La respuesta correcta es la c).
Esta preguntita se las trae en lata porque no hay razonamiento que valga (o casi), con lo cual o la sabemos “de memoria” o no la sabemos. Y si no la sabemos tenemos un 75 % de posibilidades de fallar, con lo cual mejor no responderla. Además cuando repasamos el por qué de la respuesta, no es que sea lo que se dice algo claro y unívoco. Bien, el por qué se escoge la respuesta c) está aquí: “El módulo principal (.ccp), el fichero interfaz (.h) y el fichero de implementación de un módulo (.cpp) pueden considerarse unidades de compilación en el sentido de que es posible invocar la compilación de cada uno de ellos por separado. En realidad a la hora de preparar una aplicación sólo se mandan compilar realmente los cpp, que son los ficheros que generan código objeto, mientras que los .h se cargan dentro de los cpp cuando son llamados. La inclusión de los .h se hace en una fase inicial de la compilación denominada preproceso.”
Hemos omitido algo de texto para no liarla más. Mejor pasar a la siguiente.
a) Sólo el programa principal y el fichero de implementación de los módulos
b) Sólo el fichero de implementación de los módulos
c) El programa principal, el fichero de interfaz y el fichero de implementación de los módulos
d) Sólo el programa principal y el fichero de implementación de los módulos
RESPUESTA: La respuesta correcta es la c).
Esta preguntita se las trae en lata porque no hay razonamiento que valga (o casi), con lo cual o la sabemos “de memoria” o no la sabemos. Y si no la sabemos tenemos un 75 % de posibilidades de fallar, con lo cual mejor no responderla. Además cuando repasamos el por qué de la respuesta, no es que sea lo que se dice algo claro y unívoco. Bien, el por qué se escoge la respuesta c) está aquí: “El módulo principal (.ccp), el fichero interfaz (.h) y el fichero de implementación de un módulo (.cpp) pueden considerarse unidades de compilación en el sentido de que es posible invocar la compilación de cada uno de ellos por separado. En realidad a la hora de preparar una aplicación sólo se mandan compilar realmente los cpp, que son los ficheros que generan código objeto, mientras que los .h se cargan dentro de los cpp cuando son llamados. La inclusión de los .h se hace en una fase inicial de la compilación denominada preproceso.”
Hemos omitido algo de texto para no liarla más. Mejor pasar a la siguiente.