Il passaggio al software libero

Scrivere del buon codice è buona educazione, trovarsi davanti a software scritto bene è sempre auspicabile. Non basta, occorre un buon compilatore e un buon sistema operativo. Noi del software libero utilizziamo GNU/Gcc come compilatore e il sistema operativo GNU/Linux.

Sometimes shit happens. Uno dei motivi che mi ha spinto a passare al software libero è elencato qui sotto:

#include <unistd.h>
#include <signal.h>
#include <stdlib.h>
#include <stdio.h>

void handler()
{
        // use printf() in signal handler only if shit happens!
        printf("Sometimes shit happens...\n");
        abort();
}

int main()
{
        int *p = (int *) 112233;
        int x;
        signal(SIGSEGV, handler);
        printf("No shit...\n");
        sleep(2);
        printf("A bad code may contain some shit...\n");
        sleep(2);
        x = *p; // access bad memory => SIGSEGV sent
        printf("what it this shit?");

        return (EXIT_SUCCESS);
}

Compila con gcc -W -Wall -g file.c ed esegui il codice. Quando ho iniziato a programmare (molto tempo fa) il sistema operativo proprietario che usavo gestiva male questo tipo di errore e tutto ciò mi faceva uscire pazzo.

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...