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 |