Michele Liberi software

versione 1.04, giugno 2026

Michele Liberi
mail: mliberi@gmail.com
cell: +393485211456
telegram: @MicheleLiberi

liberix

Linguaggio C

La lista completa di tutte le funzioni che ho sviluppato in linguaggio C sono contenute nel file mic.h. Al momento della scrittura di questa pagina la libreria contiene 523 funzioni.

Le funzioni coprono una vasta gamma di argomenti:

stringhe a lunghezza variabile
Le stringhe a lunghezza variabile (VLS) liberano il programmatore dal vincolo, tipico del linguaggio C, relativo alla dimensione dell'area di memoria che contiene una stringa. Le VLS sono memorizzate in aree di memoria allocate dinamicamente la cui gestione è interamente devoluta ad un insieme di funzioni per la loro gestione. L'utilizzo di VLS non pregiudica l'utilizzo di tutte le funzioni di libreria standard del C o delle system call di UNIX in quanto uno dei componenti della VLS è una stringa standard del C.
stringhe
Una vasta collezione di funzioni per manipolare le stringhe base del C.
liste
Le funzioni di questa classe gestiscono sia liste semplici, sia liste doppiamente collegate. Queste strutture dati elementari hanno moltissime applicazioni nella programmazione, tra le quali ci sono le code FIFO (first-in first-out) e le pile LIFO (last-in first-out).
alberi binari
Anche questa è una struttura dati elementari che ha moltissime applicazioni. Le funzioni in questa classe gestiscono anche alberi AVL, cioè alberi che gestiscono in modo ottimale il bilanciamento dei nodi.
automi a stati finiti
Gli automi a stati finiti sono strutture dati complesse che possono essere usate per la gestione di hash maps e per le espressioni regolari.
controllo del terminale (tty)
Le funzioni di questa classe servono per interagire con i tty sia in input che in output.
gestione dei files e filesystem
Funzioni aggiuntive alle system calls e funzioni della libreria standard.
crittografia
Vasta collezione di funzioni ad uso crittografico. Questa classe contiene tre tipologie di funzioni:
sorting
Funzioni per il sorting di varie strutture dati. In questa classe ci sono anche funzioni per la gestione di strutture SIA (sorted integer array) e OIL (ordered integer list), che sono strutture particolarmente efficienti ed ottimizzate per la gestione di liste di numeri interi.
TCP/IP
Una collezione di funzioni per la gestione di connessioni TCP/IP e comunicazione client/server.
HTML
Una collezione di funzioni per generare output HTML.
CGI
Le funzioni di questa classe permettono di gestire facilmente l'interazione con un web server, cioè:
CSV
Collezione di funzioni per gestire I/O da files in formato CSV.
grafica: interazione con X-server
Funzioni per la gestione di tutte le strutture dati che servono per scrivere programmi X-client, applicazioni grafiche che interagiscono con X-server, ambiente lungamente considerato unico standard per la grafica in ambiente UNIX.
gestione ACL (access control lists)
Le ACL ampliano il meccanismo dei permessi base di UNIX. Le funzioni di questa classe cercano di standardizzare un meccanismo potente e indispensabile che però è implementato in modo diverso nei vari sistemi UNIX.
date e orari
Collezione di funzioni per manipolare il tempo, calendari e cronometri.
numeri naturali a precisione arbitraria
Le funzioni di questa classe permettono di gestire numeri naturali di qualunque dimensione e senza i vincoli del meccanismo dell'overflow.
COFS (cohoperative file system)
Le funzioni di questa classe permettono di interagire con un server COFS, un filesystem virtuale cooperativo e distribuito da me progettato ed implementato.
varie
Una vasta collezione di altre funzioni di varia natura.

(c) M. Liberi, last updated: 2026-06-06