[C] strano comportamento di realloc()

Qui vengono spostati discussioni e messaggi ritenuti inadeguati per il contenuto o la forma con cui sono stati espressi.
Scrivi risposta
Sirolf_otrebla
Prode Principiante
Messaggi: 12
Iscrizione: martedì 9 dicembre 2014, 19:33
Desktop: gnome-shell
Distribuzione: Ubuntu 14.04.1 LTS / intel x86_64

[C] strano comportamento di realloc()

Messaggio da Sirolf_otrebla »

M_A_W_ 1968 [url=http://forum.ubuntu-it.org/viewtopic.php?p=4744548#p4744548][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Codesto uso di realloc() è del tutto fuori discussione. Anzi, in generale occorre semplicemente fingere che tale funzione non esista.

Per un primo orientamento, leggi almeno i seguenti thread:
"Creazione array di stringhe"
"[C] Consiglio array dinamico"
"[C] Uso proprio e improprio di malloc()"

Nei casi più scolastici, si procede comunque preallocando una quantità ragionevole di memoria, e solo in caso di assoluta necessità si invoca una reallocazione raddoppiando la dimensione attualmente allocata. Una simile strategia, laddove effettivamente applicabile e necessaria, consente quantomeno di limitare i danni connessi all'invocazione di una delle funzioni in assoluto più devastanti e deleterie dal punto di vista prestazionale, assieme a quelle I/O intensive, che come tale non deve assolutamente mai essere usata con leggerezza.
so bene che questo è un modo stupido di usare le -alloc, in particolare chi di dovere mi aveva insegnato di non riallocare per evitare copia dei dati tra varie zone dell'heap. questo ciclo non doveva essere un codice formalmente corretto, era un semplice esperimento. nel caso, avrei creato un buffer abbastanza grande da subito. comunque ho risolto il problema, dovuto al fatto che alla prima iterazione realloco 2 byte e quindi mi mangio il terminatore di stringa.
Avatar utente
tokijin
Moderatore Globale
Moderatore Globale
Messaggi: 4607
Iscrizione: mercoledì 3 giugno 2009, 23:10
Desktop: plasma 5.27.4
Distribuzione: Kubuntu 23.04
Località: Abruzzo

Re: [C] strano comportamento di realloc()

Messaggio da tokijin »

Quando capita di inviare più volte un messaggio, segnala il fatto allo staff premendo il punto esclamativo ! in alto a destra del post.
Non sempre capita qualcuno dello staff che si accorge dell'invio multiplo.

Ciao :ciao:
Sei abbruzzese se dopo che ti sei strafogato un chilogrammo di pasta, hai il coraggio di dire alla cuoca "cacc ch'è cott" - Se entra un piccione in casa..chiudi le finestre!
Ubuntu User #28657 - Il mio vecchio hardware - Tag Codice
Scrivi risposta

Ritorna a “Quarantena”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 5 ospiti