<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=424311&amp;view=findpost&amp;p=3854975</guid>
        <pubDate>Wed, 24 Nov 2021 16:17:17 +0000</pubDate>
        <title>Получить максимальный/текущий размер стека.</title>
        <link>https://forum.sources.ru/index.php?showtopic=424311&amp;view=findpost&amp;p=3854975</link>
        <description><![CDATA[Qraizer: В соответствие с WinAPI по дефолту 1Мб выделяется (в 32битах; в 64х беспонятия). Но это можно переопределить при создании отдельно взятой нитки или указать линкеру, чтоб он в заголовок EXEхи воткнул нужную цифру для главной нитки. Только надо ли? Делаешь в хипе или в глобальной секции. В классе если, всё равно в хипе получится, так VCL устроена. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2021-11-24T19:22:53+03:00">24.11.21, 16:22</time></span></span><br>
P.S. А чё, STL в Билдер не завозили? std::vector&lt;std::vector&lt;float&gt; &gt; fff(32, std::vector&lt;float&gt;(32000)) работало ещё 22 года назад]]></description>
        <author>Qraizer</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=424311&amp;view=findpost&amp;p=3854966</guid>
        <pubDate>Wed, 24 Nov 2021 15:09:47 +0000</pubDate>
        <title>Получить максимальный/текущий размер стека.</title>
        <link>https://forum.sources.ru/index.php?showtopic=424311&amp;view=findpost&amp;p=3854966</link>
        <description><![CDATA[DrUnkard: Осторожно на сцылку в сообщении топик-стартера   Кошмарский у меня выдает<br>
<span class="tag-color tag-color-named" data-value="red" style="color: red">объект заражен HEUR:Trojan.Script.Redirector.gen</span> <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2021-11-24T15:18:34+00:00">24.11.21, 15:18</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=424311&view=findpost&p=3854965'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Сергей85 &#064; <time class="tag-quote__quoted-time" datetime="2021-11-24T14:41:03+00:00">24.11.21, 14:41</time></span><div class='quote '>1. int ttt[4] - массив создается в стеке.<br>
2. int ttt = new int[4] - массив создается вне стека.<br>
3. Стек ограничен по размеру, поэтому моя попытка заполнить созданный &quot;корректно&quot; float fff[32][32000] приводит к StackOverflow.<br>
4. Массив вне стека ограничен только свободной RAM в системе.<br>
</div></div><br>
Насколько я помню:<br>
<br>
Если объявляешь массив или переменную внутри функции - размещение произойдет на стеке. Если же объявишь как static, то в куче будет твой массив.<br>
Если объявишь как глобальные (вне функций), то тоже всё будет в куче. В куче можно жрать памяти дохрена и больше.<br>
Если приспичит именно внутри ф-ии что-то делать огромное, то используй выделение памяти на куче через: <br>
malloc()  (и подобные)  и free()]]></description>
        <author>DrUnkard</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=424311&amp;view=findpost&amp;p=3854965</guid>
        <pubDate>Wed, 24 Nov 2021 14:41:03 +0000</pubDate>
        <title>Получить максимальный/текущий размер стека.</title>
        <link>https://forum.sources.ru/index.php?showtopic=424311&amp;view=findpost&amp;p=3854965</link>
        <description><![CDATA[Сергей85: Сначала хочу разобраться в определениях, чтобы все было верно.<br>
<br>
1. int ttt[4] - массив создается в стеке.<br>
2. int ttt = new int[4] - массив создается вне стека.<br>
3. Стек ограничен по размеру, поэтому моя попытка заполнить созданный &quot;корректно&quot; float fff[32][32000] приводит к StackOverflow.<br>
4. Массив вне стека ограничен только свободной RAM в системе.<br>
<br>
Почему спрашиваю. Например, в этом примере (абзац Stack Overflow) утверждается, что стек бесконечен.<br>
<a class='tag-url' href='https://www.helloworld.ru/texts/comp/lang/delphi/delphi4/FindError.htm' target='_blank'>https://www.helloworld.ru/texts/comp/lang/d...4/FindError.htm</a><br>
<br>
О самой проблеме.<br>
<br>
Нужно знать максимальный размер стека, чтобы понять, какой максимальный по размерности массив можно туда запихнуть. К примеру, float fff[32][1000] помещается исправно - заполняется значениями в форе без вылетов.]]></description>
        <author>Сергей85</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      </channel>
      </rss>
	