Next Previous Contents

1. Introduzione

La classlib e' una estesa libreria per usi generali e per varie necessita' di programmazione; non e' complessa ed estesa come la STDTL ma contiene davvero tutto quello che normalmente necessita ad un programmatore C++ per il suo lavoro.

Il suo nucleo originale e' liberamente ispirato (e piuttosto compatibile) con la Borland Classlib distribuita con il Borland C++ 3.0 e successivi. Essa era stata originariamente scritta per Win16 in anni lontani e supportava un concetto di allocatore fornibile dal contesto di esecuzione. Con la programmazione a 32 bit questo concetto e' diventato obsoleto ed e' stato quindi abbandonato ma i nomi delle classi sono stati mantenuti per compatibilita' con il codice gia' scritto.

L'inizio e' stato quando ho avuto la necessita' di portare del codice scritto con Borland C++ 3.0 (16bit) in Visual C++ 2.0 (32bit). Ho scritto la libreria partendo dalla classlib Borland per portare velocemente il codice, essendo pesantemente utilizzata. Negli anni successivi ho aggiunto alla libreria tutte le porzioni di codice che potevono ragionevolmente essere considerate ad usi generali prelevandole dalle applicazioni che andavo man mano scrivendo. Ho aggiunto le funzioni per il calcolo nello spazio 3D (Matrix3) e alcune pratiche funzioni matematiche per rappresentare oggetti nello spazio 2D e 3D (Punto2D, Punto3D, Linea2D, Linea3D). Ho esteso la libreria template originaria con molte pratiche classi come TCache, TStaticArray, TSQueue ed altre.

Dal 2000 all'incirca ho definitivamente (spero) abbandonato al piattaforma Windows per sviluppare in Linux ed in genere nell'area del software libero. Ho quindi riscritto la libreria per Linux con altre espansioni. A questo momento e' stata scritta una emulazione del Variant, una serie di classi per la gestione del multi-thread (simili alle equivalenti MFC), delle classi per l'uso semplice e veloce dei socket, il property container, la fixed string e l'exchanger (un meccanismo per scambiare valori arbitrari a VARIANT) usato principalmente per semplificare la comunicazione fra il lato client e server di una applicazione.

Questa libreria si e' evoluta in piu' di dieci anni di sviluppo in C++. Essa e' stata estesamente testata essendo utilizzata praticamente in quasi tutti i software che scrivo ed io la trovo molto usabile e affidabile.

Fino ad oggi e' il mio maggiore contributo al Free Software.

Nicola De Nisco

Sourceforge project home for classlib

1.1 Changes


Next Previous Contents