lunes, 4 de noviembre de 2013

Cómo prevenir el uso múltiple de un archivo de encabezado

Una cabecera de archivo es un C / C + + archivo que se compone de múltiples referencias a plazo. Forward referencias son breves definiciones de variables, funciones y clases que se implementan en otros lugares. Esto permite a los programadores para separar un gran proyecto en el código fuente y de cabecera archivos. Siempre que necesite utilizar una función declarada en el fichero de cabecera, debe incluir el archivo de cabecera con una instrucción "# include" especial. A veces, los archivos de cabecera son importadas accidentalmente más de una vez. Incluyendo el mismo fichero de cabecera varias veces es innecesario y muy fácil de prevenir. 

PREVENIR MULTIPLE



Lo que necesita

C + + entorno de desarrollo integrado (IDE), como Eclipse CDT

C + + Compiler, tal GCC



Cargue el IDE C + +, haga clic en el icono del programa. Cuando se abre, seleccione "Archivo / Nuevo / Proyecto" y selecciona "C + + proyecto" para crear un nuevo proyecto de C + +. Un archivo de código fuente en blanco en la parte de edición de texto de la IDE.



Haga clic en "Archivo / Nuevo / Archivo" para abrir el cuadro de diálogo "Create New File". Seleccione "C / C + + Header File" y pulse el botón "OK". Se le pedirá que introduzca un nombre para el archivo. Escriba "headerFile.h" como nombre de archivo y pulse Enter. Aparece un archivo de encabezado en blanco.



Escriba la siguiente directiva de preprocesador condicional en la parte superior del archivo:



# Ifndef HEADERFILE_INCLUDED



Una directiva de preprocesador es una instrucción que se ejecuta antes de que el código fuente se compila en realidad un programa ejecutable. Las siguientes pruebas de directiva para ver si la entidad denominada "HEADERFILE_INCLUDED" se ha definido en otra parte del programa ya. Si es así, entonces los saltos preprocesador todo el resto del código en el archivo de cabecera hasta que alcance la línea "# endif".



Escribe la siguiente declaración "# define" para definir la entidad "HEADERFILE_INCLUDED", inmediatamente por debajo de la línea escrita en el paso anterior.



# Define HEADERFILE_INCLUDED



Esta línea de código sólo se ejecutará si el archivo de cabecera aún no se ha incluido en otra parte del proyecto. Mediante la definición de la entidad "HEADERFILE_INCLUDED", se asegura que esta es la primera y única vez el archivo de cabecera puede ser incluida en el proyecto.



Escribe la totalidad de su archivo de cabecera en el espacio debajo de la instrucción "# define". Por ejemplo, podría escribir un archivo de cabecera muy simple que hace una sola referencia hacia adelante a una función llamada "func", así:



extern void func ();



Concluya su archivo de encabezado con la siguiente declaración:



# Endif



Incluya el archivo de cabecera en el archivo de código fuente principal que se creó cuando se hizo el proyecto. Usted puede hacer esto escribiendo la siguiente línea en la parte superior del archivo de código fuente:



# Include "headerFile.h"



Pulse el botón verde "Play" para compilar y ejecutar el programa. El "# include" declaración indica al C / C + + preprocesador para sustituir esa declaración con todos los contenidos en el archivo de encabezado. Sin embargo, el preprocesador encuentra con las directivas condicionales que le indiquen para incluir sólo el contenido del archivo de cabecera una vez.



 

No hay comentarios:

Publicar un comentario