Ci sono vari programmi scritti in C, con richiamo di funzioni e system call di uso forse non frequente. Ho avuto la possibilità di poter provarli in 3 distribuzioni Linux diverse: Debian, SuSE, CentOS. Qualcuno è stato provato anche in ambiente Windows, ove ho installato il compilatore Bloodshed Dev-C++, liberamente scaricabile dal sito del produttore http://www.bloodshed.net. Ciascun programma è preceduto da un breve cappello di spiegazioni. Però non ci sono commenti. In rete, a cercare oculatamente, le spiegazioni, esaurienti e non, si sprecano. Ciò che a mio avviso manca sono degli esempi cantierabili. Ho posto la massima cura nella programmazione, ma non posso escludere errori, per cui il materiale lo si usa a proprio rischio e pericolo. Questa è la panoramica attuale:
| albero binario | gestione di un albero binario non AVL | deepfile | tutte le informazioni di un file |
| linkedlist | uso di una lista semplice |
| * myls | reinvenzione del comando ls |
| ordina | uso di qsort e bsearch |
| * red | remove empty directory |
| * regex | uso delle regular expression |
| segnale | gestione dei segnali |
| shortopt | parametri opzionali corti |
| stack | uso di uno stack (pila) |
| termio | gestione caratteristiche terminale |
| varg | numero variabile argomenti |
| match | funzione ausiliaria |
| longopt | parametri opzionali lunghi |
Come ottenere i programmi? Ci sono vari metodi. Uno è il veloce ma potenzialmente insidioso «copia-e-incolla». L'altro consiste nel mandarmi una mail, indicando il programma desiderato. Risponderò inviando il source in allegato.
Per le compilazioni ho usato il seguente paradigma:| -Wall -Wextra | diagnostica estesa |
| -ansi -pedantic | controlli estesi della sintassi |
| -O2 | ottimizzazione |
| -s | strip dell'eseguibile |
| -o xxxx | nome dell'eseguibile |