Newsgroup: it.comp.lang.c++
Titolo: Superare la barriera dei 640k

Ho bisogno di un compilatore che mi permetta di sviluppare
applicazioni dos senza il fatidico limite dei 640k.
Che possibilità ci sono secondo voi? Quali compilatori posso
considerare?
Alberto

 wrote in message
380ac3b...@10.1.1.31...


...


 considerare?
Prendi il gratuito DJGPP all'indirizzo 
http://www.delorie.com/djgpp
.
EMG


Conosco Pharlap ma la versione che ho io non supporta il Borland c++
v5.01 (che e' la verisone di bc che uso io) ma arriva solo fino alla
4.0. Non so pero' se ne esiste una piu' recente.
Ho anche sentito che il Watcom C++ supporta la programmazione in modo
protetto sotto DOS. Pero' contattando la Sybase Italia mi hanno detto
che non lo commercializzano piu'.....bella fregatura. Mi servirebbe
avere almeno una demo del Watcom per provarlo. Qualcuno mi sa dire se
c'e' la possibilita' di scarcarlo dal Web?
ALtro ambiente potrebbe essere il Symatec C++. Ma non so se supporta
la modalita' protetta.
Insomma io dico: ma un povero cristo come me che deve modificare e
ampliare un programma sotto dos che dovra' girare su un sistema
embedded e che ormai ha seri problemi di memoria cosa puo'
utilizzare????????
Alberto

 utilizzare????????
Ma un sistema embedded ha il DOS e più di 640k di RAM? E la gestione di
memoria estesa/espansa? E un HD?
Comunque a parer mio serve più una reingegnerizzazione del programma che
altro. Magari non caricando in memoria tutti i dati, o utilizzando programmi
esterni per alcune funzioni e la system() per eseguirli, ecc.
--
Alessandro Monti



Certo. Il nostro ha in questo momento 2 mega ma sarebbero anche
espandibili, ammesso che si riuscissero ad usare. Ha poi una flash ram
che fa da disco fisso. 
Il programma e' gia' stato ampiamente ristrutturato e/o ottimizzato.
Certo si puo' ulteriormente migliorare ma nel frattempo sono gia' in
progetto ulteriori espansioni quindi il problema va risolto comunque.
Si era pensato di usare gli overlay ma il Borland C++ 5.0 ha un bug
che, da quello che mi risulta, non consente il loro utilizzo.
Alberto Rausa

 che fa da disco fisso.
'azzo, che sistemone embedded!
Se il problema sono i dati e non il programma (ovvero lo heap e non la
dimensione del codice), ho ancora in giro un bel manualetto che spiega la
gestione della EMS/XMS. Ciò vuole dire allocare la memoria a "blocchi" e
tramite interrupt, ma meglio che niente, no?
--
Alessandro Monti



Sarebbe interessante.....Come si chiama? E magari sai anche dove
trovare del materiale attinente in rete?
Alberto 



E' un'ipotesi che sto considerando infatti.
Qualcuno pero' sa darmi un giudizio sulla reale affidabilita' di
questo compilatore? 
Alberto

 questo compilatore?
Sicuramente uno dei più aggiornati, più usati e di conseguenza più
debuggati.
EMG

 trovare del materiale attinente in rete?
Non credo si trovi ancora, comunque era: "MS-DOS, le estensioni. Mouse, EMS,
XMS e CD-ROM" Mondadori Informatica (Microsoft press) ISBN 88-7131-008-X
In rete si trova l'elenco degli interrupt completo ma non ricordo bene
l'url. Se cerchi su Altavista "interrupt list Ralf Brown" lo trovi di
sicuro.
Gli interrupt per la LIM EMS sono: 21h, funzione 44h e 67h
Per la XMS sono: 21h, funzione 43h e 2Fh (ma la gestione è poi più
complessa)
--
Alessandro Monti