EuLib
EuLib e' una libreria compatibile con C e C++ per gestire un linguaggio
di script embeddable nelle applicazioni ed una serie di classi di base come
liste ed alberi. Vi sono anche classi per gestire il parsing e la gestione
dei tipi data.
Le classi di base comprendono
- Liste a collegamento singolo (single linked list)
- Liste a collegamento doppio (double linked list)
- Alberi (tree)
- Btree
- Allocazione veloce di blocchi di memoria di dimensioni fisse (Fixmem)
- Analizzatore lessicale (Lex)
- Gestione facilitata e parsing di date (DateTime)
In piu', come accennato, e' implementato un linguaggio di script e vi sono classi per gestire
le eccezioni in modo simile al C++, la versione dei vari moduli e l'auditing del flusso del
programma attraverso un sistema di log.
La libreria e' compatibile con Windows e Linux; assieme ad essa viene fornito anche un programma
di test per la verifica dei singoli moduli.
La libreria e' modulare, in modo da non rendere indispensabile il link di tutti i moduli se
il progetto su cui si lavora ha particolari limiti, come spesso comune per chi lavora con
i sistemi embedded.
Alla libreria sia accompagna un progetto di test chiamato EuLibProva
Il codice e' stato sviluppato da EuroSoft Informatica Medica e fornito sotto licenza LGPL.
Eulib e' stata rilasciata come progetto Open Source Project a marzo del 2004 dall'Ing.
Filippo Di Marco di Eurosoft con l'aiuto di Giovanni Faglioni (uno degli autori originali).
I primi componenti di EuLib hanno visto la luce su un Amiga 1000.
Stato del progetto
Il codice compila in Windows in C++ e Linux in C. Il codice di prova e' diviso in due progetti separati
per Linux e Windows con due codebases.
Esiste una documentazione riportata manualmente da quella originale.
La compliazione in C++ e' stata ottenuta includendo in files C++ i files C originali.
Obbiettivi a breve termine
Riunire il modello di programmazione delle eccezioni in uno solo.
Attualmente ci sono problemi di compatibilita' tra le eccezioni di varie versioni di
MFC e del runtime per Windows (SEH)
Completare con macro la gestione di C++. Aggiungere un file di configurazione globale
per definire se la libreria deve gestire la compilazione in C o C++.
Completare il codice di prova e riunirlo in una unica codebase.
Il programma di test delle funzionalita' dei moduli e' in via di sviluppo
Completare la documentazione
|