Newsgroup: it.comp.www
Titolo: C e C++ help wanted

Salve a tutti
un mio amico ha bisogno di ogni informazione possibile sulla
programmazione in C e in C++. In particolare sull'utilizzo della
memoria.
C'e' qualcuno che puo' indicarmi qualche libro o qualche sito dove
recuperare queste informazioni?
Grazie
                         Mad Mac was here!
                   Trapped in a world never made.
Marco Canonico
via Duca D'Aosta 66
14100 ASTI
ITALY

Grazie
Kernigham & Ritchie, C, Jackson Libri. E' ***IL*** libro sul C. Lascia
perdere le critiche, sono sballate. L'unica cosa  da dire è che sia il
C che il C++  non possono essere imparati  SOLO leggendo il  libro. La
lettura deve andare di pari passo con la sperimentazione pratica.
Bjorne Stroustrouo, "Il linguaggio  C++" (sul titolo  non ci giuro, ma
le parole C++ e Linguaggio  compaiono), edito dalla Addison Wesley.  A
pagina 176 o 177 propone un'esercizio molto interessante, un costrutto
molto efficente che sfrutta delle particolarità del  C prima e del C++
poi.
o   oooooo	Gian Uberto Lauri
      o    o	
sa...@maya.dei.unipd.it
     o o

dell'elaboratore e non sa esattamente come fare.
mi sa che libri specifici su questo argomento non ce ne siano, uno dei
problemi che si affrontano piu' spesso nella scrittura di software e'
proprio il binomio occupazione di memoria/prestazioni, cioe' scrivere
un algoritmo veloce ma che richieda poca memoria, mica facile !.
Ricette pronte da usare non ce ne sono, ci sono alcuni ottimi classici
che trattano di algoritmi, i nomi al momento non li ricordo comunque
sono testi in generale sugli algoritmi piu' utilizzati nella
programmazione, tipo sort, gestione di liste, alberi e cosi' via.
Tra l'altro non hai specificato il sistema operativo e se lavora a 16
o a 32bit. Tra dos e windows, 16 e 32 bit ci sono notevoli differenze
nell'approccio alla gestione della memoria.
Gianpaolo Bottin
Bruino (TO) - Italy
E-Mail: 
bott...@mbox.vol.it
-----------------------------------------

 computer.
Problema mica da poco!
Comunque: ottime risorse "aggratis" sono le FAQ dei newsgroup
comp.lang.c/c++ che trovi a 
ftp://rtfm.mit.edu/pub/usenet-by-hierarchy/comp/lang/
queste spiegano molto ma molto bene come usare al meglio
l'algenra dei punattori, chiariscono molto bene cosa
sia la differenza tra un puntatore+allocazione e un vettore.
Inoltre e` l'unico posto dove ho trovato spiegato come
si deve come trattare vettori pluridimensionali, specialmente
come passarli come argomenti di funzioni.
Esiste anche un libro tratt da queste faq, in cui le risposte
sono ulteriormente sviluppate. Non so se valga la spesa.
Infine va detto che l'utilizzazione di grandi quantita`
di memoria possono essere un problema particolare per
sistemi operativi come il dos che usano la segmentazione
e quindi si devono trattare pointer di tipo *far*.
ciao
Franz
-- 
Francesco Di Tolla, Center for Atomic-scale Materials Physics
Physics Departement, Build. 307, Technical Univesity of Denmark, 
DK-2800 Lyngby, Denmark, Tel.: 
(+45) 4525 3208
/3210 Fax: 
(+45) 4593 2399
mailto:
dit...@fysik.dtu.dk
 
http://www.fysik.dtu.dk/persons/ditolla.html

l'allocazione di pezzi di memoria dinamica sullo heap.
In effetti hai ragione, mi sono spiegato male, anche perché io stesso
non avevo ben chiaro cosa gli servisse. Comunque mi sono fatto dare
qualche spiegazione in piú e quindi sono in grado di fare una domanda
piú precisa.
Questo mio amico deve scrivere un programma in grado di usare molta
memoria e deve essere molto veloce. Di conseguenza gli interessa
sapere come fare per massimizzare l'uso della memoria del suo
computer. Sui libri che mi hai consigliato (che tra parentesi anche
lui usa) si accenna soltanto a questo argomento, mentre lui cerca un
testo piú specifico oppure esempi piú chiari. Insomma, deve costruire
un programma in grado di sfruttare al massimo la memoria
dell'elaboratore e non sa esattamente come fare.
Grazie dell'aiuto, sia da parte mia che sua.
Saluti
Marco Canonico


dell'elaboratore e non sa esattamente come fare.
Allocazione dinamica. Con un buon algoritmo.


 >>l'allocazione di pezzi di memoria dinamica sullo heap.
...... Ho fatto un po' di pulizia .......
L'uso del C o del C++ non influsice sull'allocazione di memoria, il C++ è un 
superset del C, ovvero offre features (non poche) in aggiunta al C, ma non lo 
stravolge.
Una cosa molto importante è invece sotto quale sistema operativo esegui il 
programma, sia chiaro che se lavori a 16 bits, hai da farti due p.ll.e così per 
gestire tanta memoria. Con NT o unix, la questione migliora un pochetto....
In ogni caso ritengo che C o C++ siano i linguaggi migliori per gestire grosse 
moli di dati con il minimo overhead, meglio ancora se usi le funzioni native 
del SO, e un po' di memoria virtuale ben gestita.
Sai, se stai gestendo 40 mega di dati in ram con il Visual Basic e non 
funziona, è certamente un baco del VB, se li stai gestendo con un programma in 
C, molto probabilmente il baco è nel tuo programma; e se fosse nell'RTL 
potresti anche farne a meno.... Beh, era giusto per fare una battuta.
Ciao !
-- 
 Daniele
---------------- Fuck The Monopoly ! ----------------
    ______                           ____            
   /_  __/                          / __/            
    / /__     __  __  __           / /_              
   / //_  /  /_  /   / / /\/\     /_  / /  / \/ \/   
  / //__ /_ /__ /__ /_/ /   /    __/ / /__/  /\ /\   
 /_/ Italia                     /___/                
 
  562 days left to the end of telecom's monopoly     
      when this e-mail was posted.                   
 
-----------------------------------------------------
 Daniele Orlandi                                     
 Via Tagliamento, 13                                 
 20030 Seveso (MI)                                   
 Italy                         FAX: ++39(2)29510943  
-----------------------------------------------------

del SO, e un po' di memoria virtuale ben gestita.
Se hanno scritto bene il C che ti vendono, la gestione della memoria
dovrebbe funzionare benissimo con malloc/free - new/dispose.
Certo che se sotto hai quello schifezzo di windows 3.1 ....


dovrebbe funzionare benissimo con malloc/free - new/dispose.
sono d'accordo pero' a volte essere utile usare le chiamate dirette
del sistema operativo per sfruttarne le caratteristiche peculiari,
sono casi comunque decisamente molto rari.


dell'elaboratore e non sa esattamente come fare.
Può usare compilatori a 32 bit quali il DJGPP (licenza GNU, quindi
gratuito per scopi personali) o l'ottimo Watcom (il meglio, ma molto
costoso) ed avere a disposizione l'intera memoria del computer per le
proprie variabili...
CIAO!
¿Dr.Brain?
e-mail: 
dr.b...@iol.it
 (PGP Key available on keyservers as 0xD0E45839)
homepage: 
http://www.geocities.com/Tokyo/1596/lapo.html