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