Compiladores de C y nuestro primer programa en C

Hello, World! es el ejemplo que aprenden casi todos los programadores al iniciarse en la programación. Este ejemplo fue creado originalmente por uno de los autores del libro clásico de C The C Programming Language (Second Edition) (KR2). Después se extendió por todo el mundo y, hasta el día de hoy, el primer ejemplo de prácticamente cualquier lenguaje de programación es este mismo.

Hoy también usaremos este ejemplo para escribir nuestro primer programa en C.

Antes de escribir código en C, debemos descargar un compilador: Download i686-8.1.0-release-win32-sjlj-rt_v6-rev0.7z (MinGW-w64 – for 32 and 64 bit Windows). ¿Qué es un compilador?

¿Qué es un compilador?

El ordenador solo reconoce los números binarios 0 y 1, no entiende el código C/C++, Python, Java ni otros lenguajes escritos por humanos. El compilador es una herramienta de traducción: convierte todo de una vez el código de alto nivel legible para humanos en un lenguaje máquina ejecutable directamente por la CPU (archivo binario exe).

Es decir, el compilador transforma el código C escrito por personas en órdenes de 0 y 1 que el equipo puede interpretar; solo estas instrucciones pueden ser ejecutadas por la CPU. Sin un compilador, tu código C no es distinto de un texto plano. Se puede decir que la esencia de cada lenguaje de programación es su compilador correspondiente; todas las reglas y sintaxis definidas por el lenguaje se implementan mediante el compilador.

Descarga el compilador para Windows desde el enlace anterior. Ten en cuenta que el compilador cc se usa solo en sistemas Unix, mientras que en Windows utilizamos GCC.

Compiladores del lenguaje C

1 GCC

Su nombre completo es GNU Compiler Collection, es gratuito y de código abierto, compatible con C/C++/Objective-C y multiplataforma (Windows/Linux/macOS).

MinGW-w64 es un paquete de herramientas que incluye el compilador GCC.

2 Clang (LLVM)

Basado en la arquitectura LLVM, es el compilador oficial por defecto de Apple (macOS/iOS) y también se puede instalar en Windows.

3 MSVC

Microsoft Visual C++, el compilador nativo oficial de Microsoft para Windows, integrado en Visual Studio al instalarlo. También se puede usar con Qt.

Herramienta de línea de comandos: cl.exe

4 Tiny C Compiler

Permite ejecutar código C directamente sin generar un archivo exe (similar a un lenguaje de secuencias de comandos).

Existen otros compiladores de C que no enumeraremos aquí; algunos incluso han quedado obsoletos, como Turbo C.

Durante la etapa de aprendizaje, puedes empezar usando el gcc incluido en MinGW-w64 y, más adelante, utilizar MSVC con Visual Studio para desarrollar en C.

Instalar MinGW

Si el enlace anterior no funciona para descargar, usa este otro: Download MinGW-w64 – for 32 and 64 bit Windows

Después de descargar, descomprime el archivo:

Directorio tras descomprimir MinGW

Verás que contiene gcc.exe, este es nuestro compilador y solo ocupa 1,77 MB.

Copia todo el contenido en una carpeta, por ejemplo la ruta del autor: D:\mingw64, puedes elegir otro directorio si prefieres.

Luego configura esta ruta en la variable de entorno Path

  • Haz clic derecho en «Este equipo» → Propiedades
  • A la derecha «Configuración avanzada del sistema» → pestaña «Opciones avanzadas»
  • Pestaña → Variables de entorno, en «Variables del sistema» busca Path, haz doble clic para editar, pulsa «Nuevo» y pega la ruta: D:\mingw64\bin
  • Pulsa Aceptar en todas las ventanas para guardar los cambios

Ten cuidado: dentro de D:\mingw64\bin debe estar el archivo gcc.exe. En algunos paquetes descargados, existe una subcarpeta bin interna donde se encuentra gcc.exe.

Comprobar si GCC se instaló correctamente

Abre el símbolo del sistema CMD y ejecuta los siguientes comandos

gcc --version
o también
g++ --version

Si aparece el siguiente texto, la instalación es correcta

C:\Users\Jack>gcc --version
gcc (i686-win32-sjlj-rev0, Built by MinGW-W64 project) 8.1.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Lenguaje del código: CSS (css)
C:\Users\Jack>g++ --version
g++ (i686-win32-sjlj-rev0, Built by MinGW-W64 project) 8.1.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.Lenguaje del código: CSS (css)

Ambos comandos funcionan perfectamente. Una vez confirmado, crearemos nuestro primer programa C.

Crea una carpeta llamada cdemo en la raíz de la unidad C o cualquier otra unidad, luego crea un archivo de texto y renómbralo hello.c

Abre hello.c con el bloc de notas y pega el siguiente código

#include <stdio.h>

int main()
{
    printf("hello, world\n");
    return 0;
}Lenguaje del código: C/AL (cal)

Abre CMD y usa el comando cd para navegar hasta esa carpeta

Ejecuta el comando GCC para compilar: compilar significa transformar el código anterior en instrucciones binarias 0 y 1 legibles por el ordenador.

Compilar y ejecutar

Abre CMD y navega al directorio del código

C:\cdemo>gcc hello.cLenguaje del código: CSS (css)

Al ejecutar este comando no aparecerá ningún mensaje en pantalla

Pero en la carpeta aparecerá un archivo nuevo llamado a.exe.

Este es nuestro programa compilado, ¿cómo ejecutarlo?

Solo escribe a, no hace falta añadir la extensión .exe

C:\cdemo>a
hello, world
Todo el proceso de compilación y ejecución

Especificar el nombre del archivo ejecutable

El nombre a es el valor por defecto cuando no indicamos ningún nombre al compilar.

Con el siguiente comando puedes definir el nombre del archivo exe generado

gcc hello.c -o hello.exeLenguaje del código: CSS (css)

Abre la carpeta y verás hello.exe, puedes cambiarlo por cualquier otro nombre.

Hasta aquí esta lección. Repite todo el proceso por tu cuenta para entender el compilador y el ciclo completo de escritura, compilación y ejecución de un programa.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *