<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Wie handelt man stack overflow error richtig?]]></title><description><![CDATA[<p>Hallo, ich schreibe gerade ein Programm, bei dem sehr große Arrays auftreten können (und das soll bitte auch so bleiben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> )<br />
Würde ich die arrays auf dem Heap erzeugen könnte man ja so etwas machen:</p>
<pre><code class="language-cpp">try
{
int * array = new int[sehr große zahl];
}
catch(std::bad_alloc)
</code></pre>
<p>Aber was ist, wenn ein Array auf dem Stack zu groß ist:</p>
<pre><code class="language-cpp">int array[sehr große zahl];
//programm crashed
</code></pre>
<p>Gibt es eine Möglichkeit diesen Fehler zu handeln? (außer natürlich keinen stack zu benutzen oder die arrays zu splitten oder die arrays auf die festplatte auszulagern usw. Die Arrays sollen schon am Stück im RAM bleiben).</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/267990/wie-handelt-man-stack-overflow-error-richtig</link><generator>RSS for Node</generator><lastBuildDate>Wed, 02 Sep 2026 04:03:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/267990.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 02 Jun 2010 13:11:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wie handelt man stack overflow error richtig? on Wed, 02 Jun 2010 13:11:23 GMT]]></title><description><![CDATA[<p>Hallo, ich schreibe gerade ein Programm, bei dem sehr große Arrays auftreten können (und das soll bitte auch so bleiben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> )<br />
Würde ich die arrays auf dem Heap erzeugen könnte man ja so etwas machen:</p>
<pre><code class="language-cpp">try
{
int * array = new int[sehr große zahl];
}
catch(std::bad_alloc)
</code></pre>
<p>Aber was ist, wenn ein Array auf dem Stack zu groß ist:</p>
<pre><code class="language-cpp">int array[sehr große zahl];
//programm crashed
</code></pre>
<p>Gibt es eine Möglichkeit diesen Fehler zu handeln? (außer natürlich keinen stack zu benutzen oder die arrays zu splitten oder die arrays auf die festplatte auszulagern usw. Die Arrays sollen schon am Stück im RAM bleiben).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1905899</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1905899</guid><dc:creator><![CDATA[ErrorHandling]]></dc:creator><pubDate>Wed, 02 Jun 2010 13:11:23 GMT</pubDate></item><item><title><![CDATA[Reply to Wie handelt man stack overflow error richtig? on Wed, 02 Jun 2010 13:14:26 GMT]]></title><description><![CDATA[<p>Ja, und zwar</p>
<blockquote>
<p>außer natürlich keinen stack zu benutzen</p>
</blockquote>
<p>.<br />
Natürlich kannst du auch die maximale Stackgröße anpassen. Musst du mal in den Einstellungen suchen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1905903</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1905903</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Wed, 02 Jun 2010 13:14:26 GMT</pubDate></item><item><title><![CDATA[Reply to Wie handelt man stack overflow error richtig? on Wed, 02 Jun 2010 13:15:11 GMT]]></title><description><![CDATA[<p>Für welches OS?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1905904</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1905904</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Wed, 02 Jun 2010 13:15:11 GMT</pubDate></item><item><title><![CDATA[Reply to Wie handelt man stack overflow error richtig? on Wed, 02 Jun 2010 13:18:41 GMT]]></title><description><![CDATA[<p>Für Windows mit dem Microsoft Visual C++ 2008.<br />
Es gibt also nur vom Compiler aus Einstellungen, die sowas regeln? Der C++ Standard bietet keine Möglichkeit diesen Fehler abzufangen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1905911</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1905911</guid><dc:creator><![CDATA[ErrorHandling]]></dc:creator><pubDate>Wed, 02 Jun 2010 13:18:41 GMT</pubDate></item><item><title><![CDATA[Reply to Wie handelt man stack overflow error richtig? on Wed, 02 Jun 2010 13:25:06 GMT]]></title><description><![CDATA[<p>ErrorHandling schrieb:</p>
<blockquote>
<p>Es gibt also nur vom Compiler aus Einstellungen, die sowas regeln? Der C++ Standard bietet keine Möglichkeit diesen Fehler abzufangen?</p>
</blockquote>
<p>Richtig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1905918</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1905918</guid><dc:creator><![CDATA[Janjan]]></dc:creator><pubDate>Wed, 02 Jun 2010 13:25:06 GMT</pubDate></item><item><title><![CDATA[Reply to Wie handelt man stack overflow error richtig? on Wed, 02 Jun 2010 13:36:15 GMT]]></title><description><![CDATA[<p>Bzw. Möglichkeiten vom Betriebssystem (mit SEH).<br />
<a href="http://msdn.microsoft.com/en-us/library/ms680657(VS.85).aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/ms680657(VS.85).aspx</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1905930</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1905930</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Wed, 02 Jun 2010 13:36:15 GMT</pubDate></item><item><title><![CDATA[Reply to Wie handelt man stack overflow error richtig? on Wed, 02 Jun 2010 14:23:17 GMT]]></title><description><![CDATA[<p>Wobei die Gefahr wahrscheinlich grösser ist, durch zu viele Funktionen (vor allem bei Rekursion) einen Stackoverflow zu erzeugen, als durch statische Arrays. Grössere Datenmengen sollte man ohnehin dynamisch anfordern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1905947</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1905947</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 02 Jun 2010 14:23:17 GMT</pubDate></item></channel></rss>