Latest web development tutorials

archivos de cabecera C

El archivo de cabecera es la extensión de archivo.h, incluyendo una declaración de funciones C y definiciones de macros, citado compartida por varios archivos fuente.Hay dos tipos de cabeceras: los programadores para escribir archivos de cabecera y el compilador viene con archivos de cabecera.

En el programa que desea utilizar los archivos de cabecera, utilice la directiva#include del preprocesador C para referirse a ella.Ya hemos visto el archivo de cabecerastdio.h, que es el archivo de cabecera que viene con el compilador.

archivo de cabecera cita es equivalente a copiar el contenido del archivo de cabecera, pero no vamos a copiar el contenido del archivo de cabecera directamente en el archivo de origen, ya que al hacerlo es propenso a error, especialmente cuando el programa se compone de una pluralidad de archivos de origen.

Una práctica sencilla en el programa C o C ++, recomienda que todos los sistemas de constantes, macros, variables globales y prototipos de función escrita en el archivo de cabecera cuando sea necesario, en cualquier momento se refieren a estas cabeceras.

archivos de cabecera de referencia de sintaxis

Uso de las directivas de preprocesamiento#include puede hacer referencia a los archivos de usuario y de cabecera del sistema.Tiene las dos formas siguientes:

#include <file>

Este formulario se utiliza para hacer referencia a los archivos de cabecera del sistema. Se busca un archivo llamado archivo de la lista estándar de directorio del sistema. Al compilar el código fuente, puede -i opciones ante el directorio de la lista previa.

#include "file"

Este formulario se utiliza para hacer referencia a los archivos de cabecera de usuario. Se busca un archivo llamado archivo en el directorio que contiene el archivo actual. Al compilar el código fuente, puede -i opciones ante el directorio de la lista previa.

acciones referenciales archivos de cabecera

directiva#include instruye el preprocesador C navegar por el archivo especificado como entrada.De salida del preprocesador contiene la salida que se ha generado, los archivos de salida de texto de referencia generados y la instrucción# include salida.Por ejemplo, si tiene un header.h archivo de cabecera, de la siguiente manera:

char *test (void);

Y un archivo de cabecera usando el principalprogram.c programa,como sigue:

int x;
#include "header.h"

int main (void)
{
   puts (test ());
}

El compilador aparece la siguiente secuencia de símbolos:

int x;
char *test (void);

int main (void)
{
   puts (test ());
}

Sólo uno de cabecera referencias de archivo

Si se hace referencia dos veces al archivo de cabecera, el compilador procesar el contenido de los dos archivos de cabecera, lo que generará un error. Para evitar esto, la práctica estándar es poner todo el contenido del archivo en los estados de compilación condicional, como sigue:

#ifndef HEADER_FILE
#define HEADER_FILE

the entire header file file

#endif

Esta estructura se denomina comúnmente#ifndef envoltura.Cuando se hace referencia al archivo de encabezado de nuevo, la condición es falsa, porque HEADER_FILE definido. En este caso, el preprocesador omitirá todo el contenido del archivo, el compilador ignorarlo.

cotización condicional

A veces es necesario seleccionar una referencia al programa de varios diversos archivos de cabecera. Por ejemplo, es necesario especificar los parámetros de configuración en diferentes sistemas operativos. Se puede utilizar una serie de condiciones para lograr esto, como sigue:

#if SYSTEM_1
   # include "system_1.h"
#elif SYSTEM_2
   # include "system_2.h"
#elif SYSTEM_3
   ...
#endif

Sin embargo, si el archivo de cabecera más tiempo para hacer lo que es muy apropiado, utilizar las macros del preprocesador nombre para definir los encabezados. Esto se llamauna referencia condicional.No se utiliza como el nombre del archivo de cabecera#include directo de parámetros, sólo tiene que utilizar una macro para reemplazar el nombre de:

 #define SYSTEM_H "system_1.h"
 ...
 #include SYSTEM_H

SYSTEM_H se expande, el preprocesador se ve system_1.h, como originalmente escrita como# include.SYSTEM_H Makefile puede estar definido por la opción -D para usted.