2010-07-10 13 views

Respuesta

2

Es porque # es un indicador de que su declaración preprocesador

significado antes de que compila el código, se va a incluir el archivo stdio.h

4

Debido # es el prefijo estándar para introducir declaraciones de preprocesador.

En los primeros compiladores de C, el preprocesador era un programa separado que manejaría todas las declaraciones de preprocesador (similar a la forma en que los primeros compiladores de C++ como Cfront generó el código C) y generar código C para el compilador (todavía puede ser un programa separado, pero también puede ser solo una fase del compilador hoy en día).

El símbolo # es sólo un carácter útil que puede ser reconocida por el preprocesador y actuar en consecuencia, tales como:

#include <stdio.h> 
#if 0 
#endif 
#pragma treat_warnings_as_errors 
#define USE_BUGGY_CODE 

y así sucesivamente.

15

Se denotes a preprocessor directive:

Una cosa importante que hay que recordar es que el preprocesador de C no es parte del compilador C.

El preprocesador C utiliza una sintaxis diferente. Todas las directivas en el preprocesador C comienzan con un signo de libra (#). En otras palabras, el signo de libra denota el comienzo de una directiva de preprocesador, y debe ser el primer carácter no espacial de la línea.

# era probablemente elegido arbitrariamente como un carácter de otro modo no utilizada en la sintaxis C. @ habría funcionado igual de bien, supongo.

Si no hubiera un carácter que lo indicara, probablemente habría problemas para diferenciar entre el código destinado al preprocesador, ¿cómo saber si el if (FOO) se preprocesó o no?

4

Las directivas de preprocesador son líneas incluidas en el código de nuestros programas que no son declaraciones de programa sino directivas para el preprocesador. Estas líneas siempre van precedidas por un signo de almohadilla (#). El preprocesador se ejecuta antes de que comience la compilación real del código, por lo tanto, el preprocesador digiere todas estas directivas antes de que las sentencias generen cualquier código.

Fuente: http://www.cplusplus.com/doc/tutorial/preprocessor/

1

# es una directiva de preprocesador. El preprocesador maneja las directivas para la inclusión del archivo fuente (#include), las definiciones de macro (#define) y la inclusión condicional (#if). Cuando el preprocesador se encuentra con esto, incluirá los encabezados, ampliará las macros y procederá hacia la compilación. Se puede usar para otros fines, como detener la compilación con la directiva #error. Esto se llama compilación condicional.

0

Sabemos que, sin el programa preprocesador, no se ejecute. Y el preprocesador es # o #include o #define u otro.Entonces # se requiere antes #include.

Cuestiones relacionadas