Ambiente di sviluppo

Per chi non ha una istallazione Linux (nativa o VM) è possibile riprodurre un ambiente identico a quello utilizzato nelle lezioni tramite una immagine docker. Ecco come fare:

  1. Installare Docker dal sito ufficiale: https://docs.docker.com/get-docker/

  2. Eseguire l’immagine (il download avviene automaticamente)

    docker run -it --rm ghcr.io/matteospanio/cdev:latest bash
  3. In questo modo si ottiene una shell dentro un’immagine ubuntu linux in cui sono installati gcc e altri strumenti di sviluppo

Consiglio

Se ti sembra scomodo eseguire il comando del punto 2 puoi scaricare l’applicazione python cdev-cli e avviare l’immagine con meno sforzo.

Strumenti installati nell’immagine docker

Tra i principali programmi installati nell’immagine docker ci sono:

  • gcc e g++ per compilare i programmi in C e C++
  • make per automatizzare la compilazione
  • git per gestire i sorgenti
  • vim, un editor di testo minimale
  • valgrind per analizzare i programmi
  • gdb per il debug
  • python3 per eseguire script python
  • man, il manuale di riferimento per i comandi linux

Condividere una cartella tra il sistema host e l’immagine docker

Per condividere una cartella tra il sistema host e l’immagine docker è possibile utilizzare l’opzione -v di docker. Ad esempio:

docker run -it --rm -v /path/to/my/folder:/mnt ghcr.io/matteospanio/cdev:latest bash

Questo comando permette di montare la cartella /path/to/my/folder all’interno dell’immagine docker nella cartella /mnt. In questo modo è possibile condividere i file tra il sistema host e l’immagine docker. Dall’interno dell’ambiente docker è possibile andare alla cartella /mnt con il comando cd /mnt, in questa directory saranno presenti i file della cartella /path/to/my/folder del sistema host. Ciò comporta che le modifiche ai file condivisi saranno visibili sia dal sistema host che dall’immagine docker e permanenti.

Nota

I file creati nell’ambiente docker e le modifiche fatte al sistema operativo dell’immagine docker, di default, non sono permanenti.

L’applicazione cdev-cli semplifica il processo di avvio dell’immagine docker e la condivisione di una cartella tra il sistema host e l’immagine docker, in particolare permette di avviare l’immagine docker con un comando e di condividere la cartella corrente del sistema host con l’immagine docker. Eseguendo il comando cdev-cli da una determinata cartella nel sistema host si avvia l’immagine docker e si condivide la cartella corrente con l’immagine docker alla posizione /mnt.

Metodi alternativi

  • Per chi ha un sistema operativo MacOS o Linux basta installare gcc.
  • In Windows è possibile utilizzare WSL 2, un sistema simile a docker per integrare direttamente Ubuntu in Windows.