Para el curso, se necesita como mínimo:
gcc
, el compilador de C.make
, para automatizar la compilación.git
, para subir tus tareas.
Además, para debuggear, se necesita valgrind
, que provee herramientas para entender errores y el estado de la memoria.
En esta guía vamos a mencionar lo esencial, te recomendamos que revises las herramientas que mencionamos y las guías de instalación. Cualquier duda, puedes preguntarla en el foro del curso.
Lo recomendado es activar gcc
y make
con:
xcode-select --install
Instala git
con Homebrew:
brew install git
Sigue el setup de Git para configurar tu usuario.
Para correr valgrind
, necesitarás usar Docker, que se explica más adelante.
Aunque se puede compilar y ejecutar C en Windows, es mucho más fácil hacerlo en Linux. Para esto, lo recomendado es usar Windows Subsystem for Linux (WSL), que permite correr un sistema operativo Linux en Windows.
wsl --install # puede requerir pasos adicionales
Ve la guía oficial de Microsoft para instalar WSL. Además, es recomendado que revises los otros tutoriales de la misma página, para que sepas como usar un editor y terminal en WSL.
Sigue el resto de la guía en la sección de Linux.
Esto está pensado para Ubuntu, Debian y Linux Mint, pero es similar en otras distribuciones, solo debes ocupar el package manager de tu sistema.
Ingresa lo siguiente en la terminal:
# Actualizar las fuentes de los paquetes
sudo apt update
# Instalar gcc, make y git
sudo apt install gcc make pkg-config git
# Instalar valgrind
sudo apt install valgrind
Luego sigue el resto de la guía para configurar git
.
Las guías de GitHub son mucho más completas que esta sección. Aquí incluimos lo esencial.
Primero, hay que configurar el usuario de Git que se usará.
git config --global user.name "NOMBRE APELLIDO"
git config --global user.email "correo@foo.com"
Luego, hay que configurar como se va a autentificar con el servidor de GitHub. Lo recomendado es usar GitHub CLI. Ve su guía de instalación aquí. En Linux, usa las instrucciones para Debian y Ubuntu (apt).
gh auth login # y luego elige autentificación por HTTPS
Con Docker puedes crear pequeñas máquinas virtuales, lo que te permitirá correr Linux dentro de tu sistema.
Ve la guía de instalación oficial de Docker.
Asegúrate de que docker este corriendo al tratar de usarlo, puedes abrir Docker Desktop para ello.
La imagen que usamos en el curso es carlogauss33/edd-runner, que pueden encontrar definida aquí.
Para utilizar Docker en este curso, tenemos múltiples alternativas.
Instala un cli que permite ejecutar comandos dentro un contenedor de la imagen de Docker que usamos en el curso.
edd-runner [programa] [argumentos]
Ejemplo:
edd-runner gcc -o main main.c
Link al setup de EDD DevContainer
Crea un entorno de desarrollo virtual dentro usando el mismo setup de la imagen de Docker que usamos en el curso. Se puede correr fácilmente en la nube, y se integra mejor con el editor.
EDD Docker es la solución original que entregaba el curso, las otras nuevas alternativas pueden ser más fáciles de usar hoy en día. Este crea un volumen compartido entre tareas para poder tener un entorno para compilar código. Dado el par de niveles de carpetas y Makefiles, puede ser confuso de usar.
Usa un repositorio o código de ejemplo de las capsulas, probando las siguientes cosas:
-
Clonar y pushear a un repositorio tuyo
-
Compilar con
gcc
ymake
make
-
Correr el programa
./main # o el nombre del ejecutable time ./main # para ver cuanto tiempo toma
-
Correr
valgrind
para ver si hay erroresvalgrind ./main
-
Revisar el uso de memoria
valgrind --tool=massif --massif-out-file=massif.out ./main ms_print massif.out