|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#21 | |
|
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
Quote:
-sia iOS che Android hanno una gestione estremamente aggressiva della memoria e il malloc che fa traboccare il vaso non ritorna e causa la terminazione del programma. Il programma puo' anche essere terminato a necessita' dall'OS molto prima che succeda, e in realta' quello che succede e' quasi sempre questo. -su windows da XP in poi non e' possibile ottenere null a meno di non superare la dimensione massima dell'allocazione, tutto il resto va in paging... ok, a un certo punto crasha, ma parliamo di cosi' tanta memoria allocata e usata tutta assieme che non sara' certo un if a salvare il programma (e il sistema operativo) -su Mac idem -su Linux idem e l'if e' anche inutile di fronte a quel bug -su console la dimensione e' costante e se finisci la memoria hai fatto tu male i conti e non dovrebbe mai accadere, wrappare malloc in una macro che asserta il puntatore e' piu' che sufficiente, quando proprio non c'e' un malloc custom In sostanza ha senso controllare in alcuni ambiti estremamente ristretti tipo embedded, ma nel caso generale non ha veramente senso sporcare il codice tentando di salvare una situazione che in ogni caso e' compromessa e puo' solo essere il risultato di un bug parecchio brutto. Ultima modifica di Tommo : 25-01-2014 alle 19:26. |
|
|
|
|
|
|
#22 | |
|
Senior Member
Iscritto dal: May 2001
Messaggi: 12861
|
Quote:
Cioè una pagina viene effettivamente consumata se tu ci scrivi dentro qualcosa, e nel tuo codice questo non avviene mai. Probabilmente quando tu fai una malloc il sistema è abbastanza intelligente da non consumare memoria fin tanto che tu non ci scrivi dentro. Fai una prova a scriverci qualcosa dentro (anche un solo carattere), vedi se cambia qualcosa. |
|
|
|
|
|
|
#23 | |||
|
Senior Member
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
|
Quote:
Quote:
Quote:
Chiarisco che ho detto che il cast "aggiunge codice" (e da qui a mio parere la diminuzione di leggibilità) "inutile" visto che è prevista dal linguaggio la promozione del tipo void* in qualsiasi altro tipo (il cast è implicito). Quindi chiedo, come mai in questi ambiti ci sono tali richieste?
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes] "Pirating software? Choose Microsoft!" |
|||
|
|
|
|
|
#24 | |
|
Senior Member
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
|
Quote:
Fammi capire, ci deve essere qualcuno che stabilisca alcuni standard tra tutti i programmatori, no?
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes] "Pirating software? Choose Microsoft!" |
|
|
|
|
|
|
#25 | |
|
Senior Member
Iscritto dal: May 2008
Città: Seattle (WA)
Messaggi: 306
|
Quote:
Purtroppo non sono ancora un team leader
__________________
"Considerate la vostra semenza fatti non foste a viver come bruti ma per seguir virtute e canoscenza" |
|
|
|
|
|
|
#26 |
|
Senior Member
Iscritto dal: May 2008
Città: Seattle (WA)
Messaggi: 306
|
I soggetti di questo tipo li chiuderei in galera e getterei la chiave onde evitare che inquinino il mondo con il codice.
__________________
"Considerate la vostra semenza fatti non foste a viver come bruti ma per seguir virtute e canoscenza" |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:01.




















