Herramientas de usuario

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
tutorial_de_compilacion [2022/09/06 02:06] perontutorial_de_compilacion [2026/04/21 16:09] (actual) – editor externo 127.0.0.1
Línea 1: Línea 1:
-====== Tutorial de compilación ======+====== Tutorial de compilación en C ======
  
-Con anterioridad de la [[microcomputadora#microcomputadoras hogareñas|computación hogareña]], los [[pubnix|sistemas multiusuairi@]] constituyeron el principal medio para programar.+Con anterioridad de la [[microcomputadora#microcomputadoras hogareñas|computación hogareña]], los [[pubnix|sistemas multiusuari@]] constituyeron el principal medio para programar.
  
 Por tal motivo, este tutorial te ilustrará con ejemplos básicos cómo se traduce el código fuente de un programa en lenguaje C de alto nivel a un programa ejecutable en este sistema compartido y otros compatibles. Por tal motivo, este tutorial te ilustrará con ejemplos básicos cómo se traduce el código fuente de un programa en lenguaje C de alto nivel a un programa ejecutable en este sistema compartido y otros compatibles.
  
->Este tutorial no es uno de programación, utilizaremos código pre-hecho.+>Este tutorial no es uno de programación, utilizaremos código pre-hecho. Si deseas programar, puedes acceder a [[https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C|Wikilibro de Programación en C]] o [[https://trspos.com/c-programming/|recursos en línea trspos]], entre [[el lenguaje de programación C|muchas otras recomendables]].
  
 ===== Introducción ===== ===== Introducción =====
Línea 13: Línea 13:
 La diferencia radica en que los lenguajes de alto nivel son //portables//, mientras que los de bajo nivel - además de ser más difíciles de aprender - están imbuidos de las particularidades del microprocesador en donde se ejecutan. Aprender los lenguajes de alto nivel permite escribir programas para múltiples computadoras, que sean -además - más simples de compartir. La diferencia radica en que los lenguajes de alto nivel son //portables//, mientras que los de bajo nivel - además de ser más difíciles de aprender - están imbuidos de las particularidades del microprocesador en donde se ejecutan. Aprender los lenguajes de alto nivel permite escribir programas para múltiples computadoras, que sean -además - más simples de compartir.
  
-El lenguaje C diseñado por Dennis Ritchie (uno de los creadores de Unix) es uno de tales lenguajes de alto nivel, y se revela especialmente útil para la programación portable. Podrás utilizarlo en Texto-plano no sólo para emprender proyectos avanzados, sino también para aprender los pasos fundamentales para opera con lenguajes de alto nivel: su compilación.+El lenguaje C diseñado por Dennis Ritchie (uno de los creadores de Unix) es uno de tales lenguajes de alto nivel, y se revela especialmente útil para la programación portable. Podrás utilizarlo en Texto-plano no sólo para emprender proyectos avanzados, sino también para aprender los pasos fundamentales para operar con lenguajes de alto nivel: lo que llamamos //procesos de la programación//, o - de forma genérica - la //compilación//.
  
 ===Programación === ===Programación ===
Línea 19: Línea 19:
 La programación es un arte. Involucra una serie de procesos mujer/máquina para resolver un problema determinado. La programación es un arte. Involucra una serie de procesos mujer/máquina para resolver un problema determinado.
  
-Consideremos el orden de los procesos de la programación:+Consideremos el orden de los //procesos de la programación//:
  
-**Acción realizada:** **Genera:** |**Opción de CC para detener en este paso:** |+**Acción realizada:** **Genera:** ^**Opción de CC para detener en este paso:** ^
 |//Imaginar// | Percepción de un problema | | |//Imaginar// | Percepción de un problema | |
 |//Considerar un problema __de programación__// |código //in mente// | (esto es Cerebral) | |//Considerar un problema __de programación__// |código //in mente// | (esto es Cerebral) |
Línea 31: Línea 31:
  
  
-Como puede verse, los últimos 4 pasos //maquinales// de la programación con lenguajes de alto nivel son practicados por medio de un **Compilador**, un programa de computadora capaz de traducir el //código fuente// escrito en un lenguaje en otro lenguaje distinto de operación (el //código destino//).+Como puede verse, los últimos 4 pasos //maquinales// de la programación con lenguajes de alto nivel son practicados por medio de un **Compilador**, un programa de computadora capaz de traducir el //código fuente// escrito en un lenguaje en otro lenguaje de operación distinto (el //código destino//).
  
  
-En nuestro sistema compartido utilizaremos el conjunto de compiladores **CC** (puedes también utilizar **GCC**, en [[GNU|GNU/Linux]]). Este super-compilador por línea de comandos es capaz de afrontar en traducir tu código o cualquiera que te hayan compartido.+En nuestro sistema compartido utilizaremos el conjunto de compiladores **CC** (en [[GNU|GNU/Linux]] puedes también utilizar **GCC**). Este super-compilador por línea de comandos es capaz de afrontar en traducir tu código fuente propio bien cualquiera que te hayan compartido.
  
  
 ===== Compilación básica ===== ===== Compilación básica =====
  
-La manera más simple de compilar consiste en llamar a CC es esta manera:+La manera más simple de compilar consiste en llamar a CC, así:
  
 <code bash>cc codigo_fuente.c –o binario_ejecutable</code> <code bash>cc codigo_fuente.c –o binario_ejecutable</code>
  
-De esta manera, CC oficiará de compilador automático, y procesará un fichero de código fuente llamado ''codigo_fuente.c'' para generar como resultado un fichero de destino ejecutable, llamado ''binario_ejecutable''. Si todo va bien, CC será tan parco que no informará nada, simplemente compilará y creará el ejecutable sin más decir.+CC oficiará de compilador automático, y procesará un fichero de código fuente llamado ''codigo_fuente.c'' para generar como resultado un fichero de destino ejecutable, llamado ''binario_ejecutable''. Si todo va bien, CC será tan parco que no informará nada, simplemente compilará y creará el ejecutable sin decir más.
  
 >Incluso es opcional la opción ''-o'' que indica el fichero ejecutable de destino: si no la incluyes , CC almacenará el resultado de la compilación en un fichero ejecutable de nombre llamado genéricamente ''a.out''. >Incluso es opcional la opción ''-o'' que indica el fichero ejecutable de destino: si no la incluyes , CC almacenará el resultado de la compilación en un fichero ejecutable de nombre llamado genéricamente ''a.out''.
Línea 61: Línea 61:
 Ya en tu directorio ''~/src/holamundo'', [[editores de texto|usa tu editor favorito para crear un fichero]] llamado ''holamundo.c'', e incorpórale el siguiente //código fuente// en lenguaje C: Ya en tu directorio ''~/src/holamundo'', [[editores de texto|usa tu editor favorito para crear un fichero]] llamado ''holamundo.c'', e incorpórale el siguiente //código fuente// en lenguaje C:
  
-<code c>+<file c holamundo.c>
 // * * * Programa simple en C para mostrar "Hola Tercer Mundo!" * * * // * * * Programa simple en C para mostrar "Hola Tercer Mundo!" * * *
 #include <stdio.h> #include <stdio.h>
Línea 67: Línea 67:
 int main() int main()
 { {
-    printf("Hola Tercer Mundo!");+    printf("Hola Tercer Mundo!\n");
    
     return 0;     return 0;
 } }
-</code>+</file>
 Guarda los cambios y vuelve al Shell. Guarda los cambios y vuelve al Shell.
  
Línea 92: Línea 92:
 Si bien la compilación automática es sumamente simple y conveniente, ¡no nos muestra los pasos intermedios, y tampoco es tan divertida! Si bien la compilación automática es sumamente simple y conveniente, ¡no nos muestra los pasos intermedios, y tampoco es tan divertida!
  
-¡Aprenderemos, en cambio, los cuatro pasos de la compilación con un juego!+¡Aprendamos, en cambio, los cuatro pasos de la compilación, esta vez compilando un [[juegos|juego]]!
  
 ==== Microtetris ==== ==== Microtetris ====
Línea 234: Línea 234:
 <code bash>rm arkurses.c arkurses.i arkurses.s arkurses.o</code> <code bash>rm arkurses.c arkurses.i arkurses.s arkurses.o</code>
 ==== Conclusión ==== ==== Conclusión ====
 +
 +Felicitaciones ¡Ya compilaste tu primer programa en C en texto-plano.xyz! Comparte tu logro con [[gab]]:
 +
 +<code bash>
 +gab -m "¡Acabo de escribir, compilar y ejecutar mi primer programa en C!"
 +</code>
  
 Preprocesar, base para compilar. Compilar, base para ensamblar. Ensamblar, base para enlazar. Y enlazar, base para Ejecutar. Preprocesar, base para compilar. Compilar, base para ensamblar. Ensamblar, base para enlazar. Y enlazar, base para Ejecutar.
 +
 +Ver también: [[Tutorial de Compilación en Fortran]]

Este sitio web utiliza cookies para guardar datos esenciales de su actividad, como su autenticación. Al entrar acepta el uso de cookies.

Más información