PaoloP:
E vai col mal di testa.
Se volete scoprire come stanno le cose nel dettaglio il mal di testa non può che aumentare. ![]()
GCC ha un nome e molte facce, diciamo incarnazioni. Se passo -std=gnu99 il compilatore incarna
la specifica gnu99 che è diversa da c99. A complicare la cosa GCC ha un altro compilatore separato con il suo
preprocessore e linker per il C++ e questo può incarnare le specifiche C++98, C++03, C++11, si ottiene ciò attraverso le flags.
Ora dovete trovare quale standard C++ usa Arduino 1.05 (oltre che la verisone) e quale standard C++ usa Arduino 1.5.xx, studiarvi entrambe gli standard e alla fine trarre le conclusioni. Io ho interesse a studiare lo standard Embeddec C, ma il costo del documento è alto per le mie tasche, per cui mi accontento dei Draft gratuiti, che però sono una anteprima dello standard Embedded C o almeno è così che li si deve considerare. Acquistando il documento definitivo che definisce le specifiche per quello standard si potrebbe anche scoprire che il/i draft erano sufficienti a documentarsi oppure no, ma appunto prima lo devi acquistare.
Anche AVR-GCC C++ 4.7.2 dovrebbe essere C++03 e C++11, dovrebbe perché non c'è alcun motivo per non esserlo,
e quindi non ho certezza. Sicuramente per ciò che concerne il C di AVR-GCC c'è l'intensione di seguire lo standard Embedded C di cui ho letto solo i draft, per cui non so quanto presente nelle specifiche sia già implementato, ma ho certezza che sono al passo con i draft.
Per AVR-GCC C++ non c'è uno standard Embedded C++ da seguire, per cui lo standard è quello generico C++03 ecc che non sono specifici per embedded.
Ciao.