giovedì, maggio 24, 2007

C++.. debugging?

Allora, voglio lasciare su questo blog una bella digressione sul C++: avete mai provato a realizzare in C++ una bella libreria tutta tempestata di template, in cui utilizzate pesantemente STL (stdc++), tipi (typedef), namespace, cicici e tututu?

PROVATE!!!

Allora.. cerca che ti cerco.. e mentre sviluppo in C++ (mannaggia a me) un pezzo piuttosto grosso e importante del mio lavoro di dottorato.. come libreria ultra astratta ultra pluggabile ultra sciacquate-gli-uocchie.. tiro su il mio bel ambientino di testing con il connubio CppUnit e Automake/Autoconf/AutoTuttoQuelloCheVuoiFaccioIoNonTiDeviPreoccupareDiNullaTantoIlTuoLavoroNonFunzionaràMai..
..et voilà.. dopo ore di debugging di un test set VUOTO (tutto astratto, template dappertutto.. si inizia con il debugging della sintassi/semantica senza codice reale!).. mi salta fuori il solito errore da C++.. che uno non capisce:

/usr/local/lib/gcc/i686-pc-linux-gnu/4.0.4/../../../../include/c++/4.0.4/cstddef:52: error: '::ptrdiff_t' has not been declared
[altre 1945 righe simili]

Ok, allora.. ci ho messo 3 ore per capire FORSE come risolvere il problema.. fra altre 50 ORE vi faccio sapere se la soluzione adottata riguarda l'utilizzo di un macete a doppio taglio oppure no!

P.S.: I newsgroup mi sono serviti moltissimo in questo caso.. infatti hanno occupato inutilmente 2 di queste 3 ore.. anche ricompilare gcc con una versione più nuova mi ha aiutato.. a inchiodare una macchina per altre 2 di quelle 3 ore.. fortuna che in lab di macchine ce ne sono e si può parallelizzare il tempo!!! Parallelizzare lo spazio no he? Sarebbe utile essere qui e contemporaneamente alle maldive.. ne ho proprio bisogno!!!

Nessun commento: