To je taková finta harceru v C. Alokovat pole alespoň o 1 větší protože furt se najde někdo kdo zapomene že se indexuje od 0.
Ti z větší zkušenosti alokuji rovnou 2* len. No a pak jsou machři kteří s větou "dnes máme gigabajtů paměti" rovnou alokuji v násobcích 16384. ,
To pak je ten program fakt atabilnejsi.
Spíš ne. Finta je v tom, že v jednom okamžiku se láme jenom jeden odstavec a sestavuje se jenom jedna stránka, takže paměť na tyhle dvě základní věci je během zpracování furt ta samá a není potřeba ji uvolňovat a hned alokovat znova. Krom toho, TeX je napsaný v Pascalu, v něm se nedají používat nafukovací pole, aby si TeX mohl za běhu zvětšit pool, ve kterém ukládá makra (těch tedy během zpracování dokumentu přibývá).
Strategie "sněz, co můžeš" funguje dobře na domácím nebo kancelářském PC, kde si z hlavní činnosti odskočit "jinam" fakt nepotřebujete (on si někdo vyplňujete spreadsheet, kolik zastřelil vesmírnejch potvor?) nebo jste zvyklí strávit celý den v účetnicví, ále běda, když takový hladový účto spustíte odněkud z malé pojizerské vísky na windowsím terminálovém serveru někde v Belgii a vono sežere všechnu paměť, takže na ostatních terminálech už si nepustí ani notepad. Les merdes lítaly jak die Sch- Sch- Schwalben.
to by se chtelo podivat, jestli Web (jazyk - https://en.wikipedia.org/wiki/Web_(programming_system) vubec mel podporu pro malloc/free.