Diferencia entre revisiones de «Archivo de cabecera»
Contenido eliminado Contenido añadido
m corrección |
m →Motivación: Interfaz es una palabra femenina |
||
Línea 65:
¿Por qué se puede compilar y enlazar este código sin problema alguno? El motivo es que el compilador se guía por la declaración en <code>main.c</code> a la hora de compilar la unidad por traducir <code>main.c</code>. Y esa declaración se ajusta con la forma de la función. Más tarde, cuando el enlazador combina las unidades de traducción ya compiladas <code>main.c</code> y <code>print-heading.c</code> (en la mayoría de implementaciones representadas como archivos <code>main.o</code> o <code>main.obj</code>), probablemente podría detectar la inconsistencia — pero no en C. Las implementaciones en C referencian las funciones por el nombre al nivel de archivo objeto y archivo binario, esto no incluye el valor de retorno o la lista de argumentos. El enlazador encuentra una referencia a <code>print_heading()</code> en <code>main.o</code> y una función adecuada en <code>print-heading.o</code>. Llegado este punto, toda la información relativa a tipos de argumentos de funciones se pierde.
¿Cómo es entonces posible llevar a cabo declaraciones múltiples sin problema alguno? La solución se llama ''header file''. El ''header file'' de un módulo declara cada función, objeto y tipo de dato que forma parte
<source lang="c">
Línea 101:
</source>
Normalmente, los programadores sólo utilizan los ''header files'' para especificar
== Alternativas ==
|