Konference: Počítač SHARP MZ-800 a emulátory

Od: Vaclav Peroutka
Datum: 9.11.2013 21:20
Předmět: Re: (mallinko offtopic) MALLOC


Lokální proměnné jsou samozřejmě na zásobníku(stacku) a to je v pořádku, dynamicky alokované proměnné na haldě (heap). I gcc to umí a dělá to takhle. Největší problémy způsobí právě když zapomeneš něco dynamicky alokovat nebo dealokovat. zásobník není to samé co halda.

Jinak, SDCC je schopno naházet lokální proměnné mimo zásobník - u obskurních architektur jako PIC, ty totiž zásobník nemají :-D

Vašek


OK, beru na vedomi :)

Jen pro zajimavost: Vasku, jako dynamicka alokace promennych se v takovem pripade tedy zrejme povazuje i jejich deklarace uvnitr funkci (pokud ty promenne nejsou static), ne ?
Tedy nevim, zda vubec existuji kompilatory cecka, ktere by lokalni promenne standardne nenastehovaly do zasobniku, ale prijde mi to jako jedna z nejnebezpecnejsich vlastnosti tohoto jazyka.

Michal

Dne 6.11.2013 14:46, Vaclav Peroutka (sharpemu tu byla ta zakroucena vec pandora.cz) napsal(a):

Ahoj, ok, dám vědět co a jak.

Vašek

PS: Michale, MALLOC a podobné hrozné věci NEEEEEEE. Safety guidelines vyžadují NEpoužívání dynamicky alokovaných proměnných! Jinak se ani nedá projít certifikací. Tím chci říct, že sice Unikarta není systém, který může ohrozit na životě lidi, nebo způsobit ekologickou katastrofu, ale mám raději defenzivní programování a tohle je asi jedna ze mnou ctěných položek seznamu...



Ostatní příspěvky vlákna:

 
[2013/1 (17)] [2013/2 (52)] [2013/3 (60)] [2013/4 (68)] [2013/5 (60)] [2013/6 (42)] [2013/7 (9)] [2013/8 (48)] [2013/9 (1)] [2013/10 (40)] [2013/11 (45)]


[1999 (1)] [2000 (168)] [2001 (733)] [2002 (459)] [2003 (654)] [2004 (224)] [2005 (105)] [2006 (182)] [2007 (201)] [2008 (294)] [2009 (363)] [2010 (782)] [2011 (522)] [2012 (642)] [2013 (442)]