Lenguajes
Los lenguajes compilados necesitan un transformador para poder ejecutar el programa.
Los lenguajes interpretados no necesitan compilarse, se interpretan. El lenguaje HTML lo es, siendo el navegador su intérprete.
Compilados. Son mucho más cercanos al procesador. Habría que compilar el código fuente al ejecutable.
Interpretados. Siempre que tengamos el intérprete va a funcionar.
Entre medio está Java. Es un lenguaje tanto compilado como interpretado. Se compila una vez y se pasa por el intérprete.
Del lenguaje fuente, pasando por su compilación, conseguimos el BYTECODE, un código que sólo entiende el intérprete de Java: la JVM (Java Virtual Machine). Y posteriormente se ejecuta.
Esto significa que con una sola compilación consigue ser multiplataforma.
Estos lenguajes se llaman lenguajes de máquina virtual.
MinGW (Minimal GNU for Windows)
Un emulador que permite compilar C en Windows.
Para una instalación básica, marcaremos las opciones de Instalación básica de MinGW y Sistema base.


PATH: Variable de entorno
Alberga una serie de carpetas que nos permite ejecutar un programa estemos donde estemos.
Si lanzamos Ejecutar (Windows+R) y escribimos calc, lanzará el programa calculadora, por ejemplo.
Sin embargo, si escribimos VirtualBox no lo lanzará por no estar en el PATH.
¿Qué hay en el PATH?
Para verlo, en línea de comandos escribir:
echo %PATH%

Si nos vamos a Propiedades del Sistema (Windows+Pause) → Configuración avanzada del sistema → Variables de Entorno:

Por ejemplo, la variable PATHEXT provoca que no necesitemos escribir la extensión de los archivos a ejecutar.
%PATH% → %SystemRoot% → C:\Windows

Para poder lanzar el gcc y compilar es necesario crear una nueva variable del sistema.

Hay que concatenar el PATH con la nueva variable. Para ello, vamos a editar la variable PATH y al final escribimos ;%mingw%

Para probar si funciona correctamente, vamos a la consola de comandos y escribimos echo %PATH%

Y la comprobación “de fuego” sería intentar realizar un gcc -v para ver la versión instalada.

Sabemos que ha funcionado porque aparece un error pero reconociendo el programa. Si estuviese mal veríamos algo así:
‘gcc’ no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable.
¡Salud y coding!