Newsgroup: it.comp.hardware.palmari
Titolo: Palm Programming: C o C++ ?

Qualche giorno fa' ho fatto un piccolo esperimento... ho fatto un
programmino in C e l'ho compilato.
Poi l'ho modificato in C++ (rinominando solamente il file perche' ho fatto
un'applicazione minimale che utilizza solo la libreria base PalmOS) e l'ho
compilato e ho notato un aumento in dimensioni superiore al 25% circa.
Naturalmente la dimensione dell'applicazione e' molto ridotta ma l'aumento
e' considerevole... come dicevo anche a Pietro Maggi prima, non ho
controllato se e' un effettivo aumento percentuale o solo un aumento
costante minimo. Qualcuno mi sa' dire qualcosa in proposito?
Se l'aumento e' ridotto passo volentieri a C++ avrei cosi' la possibilita'
di scrivere del codice + ordinato e strutturato e potrei usare i cast
"controllati"...
________________
Byez... Mat

Ciao,
non so dirti se il 25% da te stimato sia costante o variabile da
applicazione
ad applicazione ma quello che è sicuro è che nel momento in cui crei un
progetto
per palm in C++ (parlo di uso del Metrowerks spero che i tuoi esperimenti
siano
stati fatti in questo ambiente) viene inclusa la libreria di classi che
molto
probabilmente giustifica l'incremento di dimensioni.
In ogni caso ho sviluppato (a scopo test/apprendimento) alcune
applicazioncine
in C++ e le dimensioni in linea di massima restano abbastanza contenute.
Spero di esserti stato utile
Fabrizio
"<Mat>" <a@b.c> ha scritto nel messaggio
news:MUza8.13680$Jo.3...@twister2.libero.it...


 in C++ e le dimensioni in linea di massima restano abbastanza contenute.
Ho letto qualche articolo nella rete... ho scoperto varie cose interessanti.
Il non uso il CodeWarrior. Uso PRC-Tools + CygWin.
E penso che usero' il C++ , disabilitando il controllo sulle eccezioni sono
riuscito a produrre un codice addirittura di dimensioni inferiori al
sorgente in C... certo e' solo una semplicissima applicazione di base. Non
mi aspetto che sia cosi' anche per qualcosa di + complesso.
Ricapitolando:
- Niente eccezioni (portano via diversi kb da quanto ho capito)
- Niente funzioni virtuali. Vabbeh, non usero' classi astratte.
- Niente templates. Non mi son mai piaciute particolarmente :) Ne faccio
volentieri a meno per risparmiare qualche kb.
- RTTI non lo disabilito pero', ci tengo... anche se incrementa un po' la
dimensione del PRC
________________
Byez... Mat

 
Scusa, ma se al C++ togli le eccezioni, le funzioni virtuali (argh... 
niente classi astratte!), i templates (fioccheranno gli static cast per 
le API che ritornano void* per i controlli), cosa ti rimane?
E poi uno dei vantaggi del C++ è la disponibilità di classi già 
realizzate. Se ti devi fare tutto tu che divertimento c'è?
Nota: Io per ora uso solo C. Diciamo che era uno dei vincoli di 
progetto. L'incremento di dimensioni del codice sarebbe comunque solo il 
minore dei problemi. 
Molto dipende da dove il compilatore decide di mettere la virtual table 
(legando il codice solo ai launch code che mettono a disposizione il 
global space). Con il CW R8 ci stiamo muovendo verso la giusta 
direzione.
Ciao
Pietro

 ha scritto nel messaggio
news:MPG.16dc3a1cc...@News.CIS.DFN.DE...


 Con il CW R8 ci stiamo muovendo verso la giusta direzione.
CW... CW...
Dovrei provarlo.
________________
Byez... Mat


Sul sito della MetroWerks c'è la versione LITE, temo che sia 
inutilizzabile per il C++ avendo dei limite sulla dimensione sull'output 
del linker.
Ciao
Pietro

 del linker.
Gia' gia'... limite  4k di codice se non ricordo male.
Un po' troppo pochino per i miei gusti :)
________________
Byez... Mat