Re: C++ havarující program

Miroslav Mraz mrazik na volny.cz
Sobota Červenec 31 21:49:35 CEST 2021


Windows neznám, ale v Linuxu (Ubuntu) je zásobník pro vlákno default 
8MiB, shell ho může modifikovat příkazem ulimit -s. V C++ dávám data 
raději na zásobník (pokud to jde), je to "levnější" než na haldě i 
vzhledem k použití cache. Samozřejmě ve Windows to bude zřejmě jinak a 
použití haldy může být korektnější.
Mimochodem nedává na stack 512KiB, jsou to double, tedy 4x8x64 KiB, tedy 
2MiB a pokud je opravdu v MSVC hloubka stacku 1MiB, mělo by to spadnout 
o něco dřív.

Mrazík

Dne 31. 07. 21 v 20:19 Marek Sembol napsal(a):
> Dobry vecer
> no asi jsem zabar, ale mne se zda 1MB jako obrovsky. Mne se zda spis 
> .... no chybne pokouset se na zasobnik rvat 512KB pole jako lokalni 
> promennou ve funkci...
> Zkuste kdyztak zauvazovat o malloc/free nebo new/delete.
> Pokud trvate na tom, ze to narvete na stack, tak jde vychozi velikost 
> zmenit v nastaveni projektu nekde v linkru (presneji neporadim, uz pred 
> lety jsem presel na C#). Pripadne (ale to neni vas pripad) jde nastavit 
> pri vytvareni noveho threadu.
> BR,
> Marek
> 


Další informace o konferenci Hw-list