txt que programacion programa lenguaje leer lectura lea guardar fputs escritura ejercicios datos binarios ats archivos archivo c c-preprocessor

programacion - programa en c que lea un archivo txt



¿Por qué todos los archivos C escritos por mi profesor comienzan con un solo#en la primera línea? (3)

No hace nada

A partir del estándar ISO de C / C ++:

Una directiva de preprocesamiento del formulario

# new-line

no tiene efecto.

Entonces, en los compiladores de hoy, ese hash vacío no hace nada (como new-line ; no tiene funcionalidad).

PD : En C pre-estandarizado , # new-line tuvo un papel importante, se usó para invocar el preprocesador C (como lo señaló @Bathsheba). Entonces, el código aquí fue escrito dentro de ese período de tiempo o vino por hábito.

Estoy revisando algunas notas del curso C, y cada archivo fuente del programa C comienza con un solo # en la primera línea del programa.

Luego hay líneas en blanco, y luego otras cosas seguidas de la función main .

¿Cuál es la razón del # ?

(Está fuera de plazo ahora y realmente no puedo preguntarle al muchacho).

Aquí hay un ejemplo:

# #include <stdio.h> int main() { printf("Hello, World!"); return 0; }


Necesita saber sobre el proceso de compilación de C. Porque eso es "debe saber" cómo el código fuente se convierte en código binario ejecutable (archivo).

Desde el proceso de compilación, el código fuente C debe cruzar la sección del preprocesador. Pero, ¿cómo decirle al compilador que preprocese el código? ... Que el símbolo # tiempo se introdujo en el indicador de preproceso al compilador.

Por ejemplo, #define PI 3.141 está en el código fuente. Luego se cambiará después de la sesión de preprocesamiento. Significa que todo el PI se cambiará a 3.141.

Como #include <stdio.h> , las funciones de E / S estándar se agregarán a su código fuente. Si tiene la máquina Linux, compile como gcc -save-temps source_code.c . Y ver las salidas del compilador.

......bueno.....


Wow, este requisito se remonta a la década de 1970.

En los primeros días de la C previamente estandarizada, si quería invocar al preprocesador , tenía que escribir un # como lo primero en la primera línea de un archivo fuente. Escribir solo un # en la parte superior del archivo brinda flexibilidad en la ubicación de las otras directivas de preprocesador.

De un borrador original en C del gran Dennis Ritchie :

12. Líneas de control del compilador

[...] Para que se invoque [el] preprocesador, es necesario que la primera línea del programa comience con #. Como las líneas nulas son ignoradas por el preprocesador, esta línea no necesita contener otra información.

Ese documento es una gran lectura (y me permitió saltar sobre esta pregunta como un gato loco).

Sospecho que es el profesor simplemente sentimental: no se ha requerido ciertamente desde ANSI C.