Newsgroup: it.comp.lang.c++
Titolo: GCC 3.x vs GCC 4.x e standard

Sto per usare il GCC per un progetto su Linux... la distro che 
uso/userò/verrà usata ha GCC 3.4 installato.
So che il 4.x è molto meglio come aderenza allo standard, in particolare 
ho letto che il parser del 3.x soffre del fatto di essere stato creato 
con YACC, che non può supportare completamente la semantica del C++ (ma 
questo, in concreto, cosa vuol dire? Dove mi devo aspettare sorprese?) 
mentre il 4.x ha un parser riscritto a mano che non ha questa 
limitazione. In più il 4.x è molto più efficiente nelle ottimizzazioni 
però dicono che sia "ancora giovane" e poco testato ecc. ecc...
Comunque la domanda che mi fo (e vi fo) è: mi conviene upgradare il GCC 
e lavorare con il 4.2 o lascio stare e mi tengo il 3.4 che tanto non 
cambia granché e mi risparmio l'incomodo?
Il progetto in questione è un software CNC embeddato in una macchina 
industriale (quindi visualizzazione quote macchina, esecuzione programmi 
ISO G-code, controllo assi, lettura encoder, I/O digitale, PLC e tutte 
queste cosettine qui).

 ha scritto nel messaggio 
news:477e51a6$0$37197$4faf...@reader3.news.tin.it...

Interessante...EMC LinuxCNC ?
Se non ricordo male, il C++ e' usato solo marginalmente per alcune librerie
per cui non credo faccia differenza. Se non e' l' EMC, mi terrei la versione
per la quale e' stata compilata la tua versione.
brix

 brix
Posso definire EMC un tentativo dignitoso, ma è carente anzichenò per il
livello di programmabilità ISO. Lasciamo perdere il supporto
all'hardware, praticamente non vede niente di commerciale quanto a
schede controllo assi, DIO ecc. Da quel punto di vista è a zero o quasi.
Si vorrebbe realizzare un programma più completo, soprattutto a livello
di codici ISO implementati, e testarlo in pratica su macchine di
produzione (retrofit su vecchia fresa CN 3 assi). Se il lavoro funge, si
penserebbe poi ad impostare un discorsino commerciale...

 penserebbe poi ad impostare un discorsino commerciale...
Ho usato EMC (prima release) e abbandonato , primo perche'  abbiamo
problemi di licenza, secondo perche' e' molto legato a machine utensili,
mentre a noi serviva un prodotto particolare, pero' alcune idee sono
notevoli (il trajectory planner non e' male). Comunque manca della 
sorveglianza
a fermo e dei PID differenzibili per soglie di velocita': non so' l'ultima
versione (la 2.x).
Quanto al supporto HW, EMC usa una astrazione dell' hardware, che e'
abbastanza furba e non mi pare un limite: questa parte va scritta in 
funzione
dell' hardware che usi e della piattaforma sulla quale ti appoggi: non è 
necessario
che sia un x86, ad esempio io avevo portato EMC su PPC con SO realtime.
Per l' ISO...quale???? Da quanto ho visto in realta' non esiste UNA versione
ISO G-code uguale all' altra e di solito si risolve con una specializzazione 
del CAD
che produce il file per la macchina utensile specifica: emc che usavo 
adottava l' NGC,
che e' un G code per macchine utensili NG, appunto............
Per questo motivo nel nostro sw assi abbiamo implementato una versione ISO
come plug-in separata dal server assi che traduce il file G-code in una 
serie di
micro comandi necessari al server assi.
Questo perche' purtroppo anche i file ISO sono molto diversi tra loro: a 
parte
il set standard, esistono serie di macro diversissime tra loro tuttaltro che 
standard.
E poi si puo' supportare altri tipi di linguaggi tipo HPGL, ad esempio, che
e' parecchio usato da chi fa pantografi.
Il discorso e' interessante, ma un po' OT, quindi
bye,
brix