<?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[Was steht hier auf dem Stack]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>aus Langeweile bin ich ein bißchen am Rumbastelt.</p>
<pre><code class="language-cpp">int main() {
	char *x; // void *x;

x:
	int z=66;
	std::cout &lt;&lt; &quot;Hallo &quot;;
	int zu=66;

	int *zz=&amp;z;
	for (int i=0; i&lt;200; i++, zz--) {
		printf(&quot;%c&quot;, *zz);
	}
	goto x;
}
</code></pre>
<p>Mit diesem Programm kann ich mir anschauen was so auf dem Stack liegt. Die Ausgabe beinhaltet zwei B's dicht nebeneinander. Also der Inhalt von z und zu.</p>
<p>Nun möchte ich mir ansehen wie mein Programm im Speicher aussieht. Vielleicht steht ja &quot;Hallo&quot; da irgendwo.</p>
<pre><code class="language-cpp">int main() {
	char *x; // void *x;

x:
	int z=66;
	std::cout &lt;&lt; &quot;Hallo &quot;;
	int zu=66;

	for (int i=0; i&lt;200; i++, x++) { // xx--
		printf(&quot;%c&quot;, *x);
	}
	goto x;
}
</code></pre>
<p>Ich bekomme aber immer eine Zugriffsverletzung. Ist der Programmspeicher pauschal von Mammi geschützt worde? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
Gibt es da einen Trick?</p>
<p>Vielen Dank</p>
<p>Tim</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/263655/was-steht-hier-auf-dem-stack</link><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 16:10:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/263655.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 24 Mar 2010 11:25:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Was steht hier auf dem Stack on Wed, 24 Mar 2010 11:25:33 GMT]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>aus Langeweile bin ich ein bißchen am Rumbastelt.</p>
<pre><code class="language-cpp">int main() {
	char *x; // void *x;

x:
	int z=66;
	std::cout &lt;&lt; &quot;Hallo &quot;;
	int zu=66;

	int *zz=&amp;z;
	for (int i=0; i&lt;200; i++, zz--) {
		printf(&quot;%c&quot;, *zz);
	}
	goto x;
}
</code></pre>
<p>Mit diesem Programm kann ich mir anschauen was so auf dem Stack liegt. Die Ausgabe beinhaltet zwei B's dicht nebeneinander. Also der Inhalt von z und zu.</p>
<p>Nun möchte ich mir ansehen wie mein Programm im Speicher aussieht. Vielleicht steht ja &quot;Hallo&quot; da irgendwo.</p>
<pre><code class="language-cpp">int main() {
	char *x; // void *x;

x:
	int z=66;
	std::cout &lt;&lt; &quot;Hallo &quot;;
	int zu=66;

	for (int i=0; i&lt;200; i++, x++) { // xx--
		printf(&quot;%c&quot;, *x);
	}
	goto x;
}
</code></pre>
<p>Ich bekomme aber immer eine Zugriffsverletzung. Ist der Programmspeicher pauschal von Mammi geschützt worde? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
Gibt es da einen Trick?</p>
<p>Vielen Dank</p>
<p>Tim</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1873199</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1873199</guid><dc:creator><![CDATA[Persy]]></dc:creator><pubDate>Wed, 24 Mar 2010 11:25:33 GMT</pubDate></item><item><title><![CDATA[Reply to Was steht hier auf dem Stack on Wed, 24 Mar 2010 11:26:58 GMT]]></title><description><![CDATA[<p>Argh! Der korrekte Titel sollte heißen: Möchte meinen Programmcode sehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1873201</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1873201</guid><dc:creator><![CDATA[Persy]]></dc:creator><pubDate>Wed, 24 Mar 2010 11:26:58 GMT</pubDate></item><item><title><![CDATA[Reply to Was steht hier auf dem Stack on Wed, 24 Mar 2010 11:33:30 GMT]]></title><description><![CDATA[<p>Du dereferenzierst im zweiten Programm den Zeiger x, jedoch weißt du diesem keinen Wert zu. Er enthält also einen undefinierten Wert - auf welchen du zugreifst. Deswegen stürzt dein Programm mit hoher Wahrscheinlichkeit (Aber nicht immer) ab.</p>
<p>Dies sollte dir dein Compiler aber auch als Warnung mitteilen... Du solltest das Warnungslevel immer auf die höchste Stufe stellen. Unter GCC wärend dies die Optionen -ansi -pedantic -Wall -Werror.</p>
<p>Außerdem ist ein Debugger die deutlich bessere Wahl wenn du dir die internen Daten anschauen willst. Der Stack ist übrigens implementationsabhängig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1873208</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1873208</guid><dc:creator><![CDATA[Janjan]]></dc:creator><pubDate>Wed, 24 Mar 2010 11:33:30 GMT</pubDate></item><item><title><![CDATA[Reply to Was steht hier auf dem Stack on Wed, 24 Mar 2010 11:39:55 GMT]]></title><description><![CDATA[<p>Aber in x ist doch die Label Adresse gespeichert? Wenn ich mit der Maus rüberfahre (VS Express) enthält x die Goto Adresse.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1873212</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1873212</guid><dc:creator><![CDATA[Persy]]></dc:creator><pubDate>Wed, 24 Mar 2010 11:39:55 GMT</pubDate></item><item><title><![CDATA[Reply to Was steht hier auf dem Stack on Wed, 24 Mar 2010 11:41:16 GMT]]></title><description><![CDATA[<p>Gibt es einen Trick irgendwie anders an die Label Adresse zu kommen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1873213</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1873213</guid><dc:creator><![CDATA[Persy]]></dc:creator><pubDate>Wed, 24 Mar 2010 11:41:16 GMT</pubDate></item><item><title><![CDATA[Reply to Was steht hier auf dem Stack on Wed, 24 Mar 2010 11:41:37 GMT]]></title><description><![CDATA[<p>Du weißt der Variable x keinen Wert zu, deswegen undefinierter Wert.</p>
<p>Das Label existiert zur Laufzeit nicht mehr. Der Goto-Befehl wird zur Laufzeit mit einem unbedignten Sprung zu einer Addresse übersetzt - die Addresse wo das Label steht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1873214</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1873214</guid><dc:creator><![CDATA[Janjan]]></dc:creator><pubDate>Wed, 24 Mar 2010 11:41:37 GMT</pubDate></item><item><title><![CDATA[Reply to Was steht hier auf dem Stack on Wed, 24 Mar 2010 12:53:47 GMT]]></title><description><![CDATA[<p>Ok. War eh nur Spielerei...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1873278</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1873278</guid><dc:creator><![CDATA[Persy]]></dc:creator><pubDate>Wed, 24 Mar 2010 12:53:47 GMT</pubDate></item></channel></rss>