A | B | C | D | E | F | G | H | CH | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Přetečení zásobníku je situace v programování, kdy dojde k pokusu uložit na zásobník volání více dat, než kolik se tam vejde. Velikost tohoto zásobníku je obvykle předem dána při startu programu v závislosti na architektuře systému, překladači, množství volné paměti atp. Když se program pokusí posunout vrchol zásobníku mimo vymezenou paměť, mluvíme o přetečení zásobníku. To má obvykle za následek pád programu.
Důvodem přetečení je nejčastěji jedna z následujících programátorských chyb:
Nekonečná rekurze
Nejčastějším problémem programu, který spadne kvůli přetečení zásobníku, je nekonečná rekurze. V některých programovacích jazycích, které používají koncovou rekurzi, například v jazyce Scheme, je nekonečná rekurze v případě využití koncové rekurze povolena, protože její volání nezabírá místo na zásobníku. Naproti tomu následující příklad v jazyce C skončí pádem programu:
int foo() {
return foo();
}
Než se totiž řízení vrátí z funkce foo() zpět, znovu dojde k zavolání funkce foo(). Než se z té vrátí řízení, dojde k dalšímu zavolání funkce foo(). Každé zavolání funkce přitom zabere několik bajtů na zásobníku, takže časem bude běh procesu ukončen chybou přístupu do paměti, až na zásobníku dojde místo.
Příliš objemné proměnné na zásobníku
Místo pro lokální proměnné je obvykle vytvářeno právě na zásobníku volání. Pokud se tedy programátor v programu pokusí vytvořit velké pole jako lokální proměnnou, pak je možné, že se už na zásobníku pro toto pole nenajde místo. Například tato ukázka v jazyce C
int foo() {
double x;
}
si žádá na zásobníku 8 megabajtů (pokud má proměnná typu double paměťové nároky 8 bajtů). Pokud na zásobníku už nezbývá tolik prostoru, pak skončí program chybou.
Reference
V tomto článku byl použit překlad textu z článku Stack overflow na anglické Wikipedii.
Text je dostupný za podmienok Creative Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších podmienok. Podrobnejšie informácie nájdete na stránke Podmienky použitia.
Antény
Chemické zdroje elektriny
Chladenie v elektrotechnike
Elektrická sústava automobilu
Elektrická trakcia
Elektrické prístroje
Elektrické súčiastky
Elektrické spotrebiče
Elektrické stroje
Čítanie (elektrotechnika)
Činný výkon
Štatistická dynamika
Živý vodič
Admitancia
Antiparalelné zapojenie
Asynchrónny motor
Blúdivý prúd
Bočník (elektrotechnika)
Diak (polovodičový prvok)
Displej s kvapalnými kryštálmi
Elektrická inštalácia
Elektrická rezonancia
Elektrická sila
Elektrická vodivosť
Elektrické zariadenie
Elektrický obvod
Elektrický zvonec
Elektroenergetika
Elektromer
Elektrometer
Elektromobil
Elektromotor
Elektromotorické napätie
Elektrotechnický náučný slovník
Elektrotechnika
Elektrotechnológia
Fázor
Faradayova klietka
Frekvencia (fyzika)
Graetzov mostík
Impedancia
Indukčnosť
Induktancia
Istič
Izolácia (elektrotechnika)
Izolant
Jadro vodiča
Jednobran
Jednosmerný prúd
Joulovo teplo
Katóda
Koaxiálny kábel
Kompenzácia účinníka
Konduktometria
Konektor (elektrotechnika)
Korónový výboj
Lanko (elektrotechnika)
Leptanie
Logické hradlo
Magnetická susceptibilita
Magnetizácia (veličina)
Merný elektrický odpor
Mobilné zariadenie
Napájací zdroj
Napäťový chránič
Napäťový násobič
Nortonova veta
Odpínač
Odpojovač
OLED
Olovený akumulátor
Paralelné zapojenie
Peltierov článok
Plošná hustota elektrického prúdu
Poistka (elektrotechnika)
Posuvný prúd
Prúdový chránič
Prenosové médium
Prieletový klystrón
Primárny elektrochemický článok
Reaktancia
Rekuperácia (dopravný prostriedok)
Relé
Reproduktorová výhybka
Rezistancia
Rozhranie (interface)
Sériové zapojenie
Seebeckov jav
Sekundárny elektrochemický článok
Settopbox
Skrat
Sonar
Spínač
Spínaný zdroj
Straty v mikropásikových vedeniach
Striedavý prúd
Stupeň ochrany krytom
Svetelná výbojka
Symetrizačný člen
Technická normalizácia
Tepelné relé
Tepelne vodivostný detektor
Termočlánok
Théveninova veta
Transformátor
Transformátor s fázovou reguláciou
Trojfázová sústava
Tuhá fáza (elektronika)
Tyratrón
Usmerňovač (elektrotechnika)
Uzemnenie
Uzol (vodiče)
Vírivý prúd
Výbojka
Varistor
Ventilátor
Vodič (elektrotechnika)
Voltov stĺp
Vstavaný systém
Zásuvka (elektrotechnika)
Zdroj (elektrotechnika)
Zisk antény
Text je dostupný za podmienok Creative
Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších
podmienok.
Podrobnejšie informácie nájdete na stránke Podmienky
použitia.
www.astronomia.sk | www.biologia.sk | www.botanika.sk | www.dejiny.sk | www.economy.sk | www.elektrotechnika.sk | www.estetika.sk | www.farmakologia.sk | www.filozofia.sk | Fyzika | www.futurologia.sk | www.genetika.sk | www.chemia.sk | www.lingvistika.sk | www.politologia.sk | www.psychologia.sk | www.sexuologia.sk | www.sociologia.sk | www.veda.sk I www.zoologia.sk