Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Variabili globali/,locali e utilizzo memoria

Linguaggi e sistemi

Moderatori: Foto UtenteMassimoB, Foto UtentePaolino, Foto Utentefairyvilje

1
voti

[11] Re: Variabili globali/,locali e utilizzo memoria

Messaggioda Foto UtenteMassimoB » 6 mag 2020, 0:51

wruggeri ha scritto:Io se uno mi porta un software embedded con dentro una malloc giuro che gli stacco la testa.

Siamo in due :ok:
MCSA Windows Server 2012 R2
Cisco CCNA R&S - Cisco CCNA Security - Cisco CCNA Cyber Ops
CompTia A+ - CompTia Linux+ - CompTIA Systems Support Specialist CSSS
CompTia Pentest+ LPIC-1 - VCA VMware
Avatar utente
Foto UtenteMassimoB
14,1k 6 12 13
Expert free
 
Messaggi: 3152
Iscritto il: 28 ott 2012, 9:56
Località: Milano

0
voti

[12] Re: Variabili globali/,locali e utilizzo memoria

Messaggioda Foto UtenteSammuele » 6 mag 2020, 9:21

Non è così raro con arduino, new e delete si vedono molto meno.

https://bit.ly/2SAudYH
Anche new è delete al loro interno usano malloc e free.
Avatar utente
Foto UtenteSammuele
75 4
Frequentatore
Frequentatore
 
Messaggi: 180
Iscritto il: 22 nov 2018, 17:05

0
voti

[13] Re: Variabili globali/,locali e utilizzo memoria

Messaggioda Foto Utentestefanopc » 10 ago 2020, 14:13

Stavo rileggendo i vari interventi di questa discussione sembrerebbe quindi che le variabili globali e in modo speciale le variabili string [] siano da evitare per minimizzare gli effetti della frammentazione e cattiva allocazione della memoria?
Ma se io ho una variabile globale non occupo in permanenza quella allocazione di memoria e solo quella ?
Mi fate capire ?
Devo tornare a programmare in assembly per essere tranquillo?
Tenete conto che sono un elettronico e non un informatico...siate comprensivi.
Ciao
Avatar utente
Foto Utentestefanopc
4.208 2 5 12
Master
Master
 
Messaggi: 1323
Iscritto il: 4 ago 2020, 9:11

2
voti

[14] Re: Variabili globali/,locali e utilizzo memoria

Messaggioda Foto Utentedjnz » 10 ago 2020, 17:28

Sono da evitare (su microcontroller con poca RAM) solo le variabili dinamiche allocate sullo heap (quello che succede usando String, malloc ecc), le globali allocate staticamente vanno benissimo. E anche le locali vanno bene, sono allocate in modo ordinato crescente e decrescente sullo stack, che, a meno di riempirlo mandandolo in collisione con heap e dati statici, non produce mai buchi e frammentazione (ma certamente sono da evitare le funzioni ricorsive). E pure le locali statiche vanno bene, che di fatto sono come le globali ma visibili solo nel namespace dove vengono dichiarate.
Avatar utente
Foto Utentedjnz
350 1 5
Frequentatore
Frequentatore
 
Messaggi: 144
Iscritto il: 26 lug 2020, 14:52

Precedente

Torna a PC e informatica

Chi c’è in linea

Visitano il forum: Nessuno e 9 ospiti