<?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[Wo ist der leak?]]></title><description><![CDATA[<p>Ich hab folgende Situation:</p>
<pre><code class="language-cpp">class Foo
{
  Foo(int argc, char * argv[]) {f_.argc = argc; f_.argv=argv;}

  struct f
  {
    int argc;
    char ** argv;
  }f_;
};
</code></pre>
<p>Und erzeuge ein Testobjekt:</p>
<pre><code class="language-cpp">char * argv[] = {&quot;help&quot;, &quot;second&quot;};
    Foo g(2,argv);
</code></pre>
<p><a href="http://codepad.org/RdeT0zK3" rel="nofollow">http://codepad.org/RdeT0zK3</a></p>
<p>Mir ist zu einem klar, dass gcc ein Warning wirft, weil ich kein const char habe, was kann man da tun?</p>
<p>Zum anderen benötige ich in Foo argv in der form, wie es ist noch mehrere male. Aber Boost hat nen Leak entdeckt und wirft mir:</p>
<pre><code>Dumping objects -&gt;
{270} normal block at 0x01307E58, 24 bytes long.
 Data: &lt;                &gt; 00 CD CD CD 00 00 00 00 00 00 00 00 00 00 00 00
{269} normal block at 0x01307DC0, 104 bytes long.
 Data: &lt;  #g }0      U2g&gt; 9C B2 23 67 88 7D 30 01 00 00 00 00 E8 55 32 67
{268} normal block at 0x01307D88, 8 bytes long.
 Data: &lt;  #g }0 &gt; A8 B2 23 67 C0 7D 30 01
{267} normal block at 0x01307D40, 24 bytes long.
 Data: &lt;                &gt; 00 CD CD CD 00 00 00 00 00 00 00 00 00 00 00 00
{266} normal block at 0x01307CF8, 24 bytes long.
 Data: &lt;                &gt; 00 CD CD CD 00 00 00 00 00 00 00 00 00 00 00 00
{265} normal block at 0x01307C90, 56 bytes long.
 Data: &lt;     }0         &gt; 01 00 00 00 88 7D 30 01 00 CD CD CD 00 00 00 00
Object dump complete.
</code></pre>
<p>Die Parameter stammen in der Regel aus der main, beim Test jedoch nicht.</p>
<p>Muss ich diese manuell reservieren, damit ich derartige probleme nicht habe?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/244956/wo-ist-der-leak</link><generator>RSS for Node</generator><lastBuildDate>Sat, 19 Sep 2026 01:28:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/244956.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 08 Jul 2009 08:10:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wo ist der leak? on Wed, 08 Jul 2009 08:10:04 GMT]]></title><description><![CDATA[<p>Ich hab folgende Situation:</p>
<pre><code class="language-cpp">class Foo
{
  Foo(int argc, char * argv[]) {f_.argc = argc; f_.argv=argv;}

  struct f
  {
    int argc;
    char ** argv;
  }f_;
};
</code></pre>
<p>Und erzeuge ein Testobjekt:</p>
<pre><code class="language-cpp">char * argv[] = {&quot;help&quot;, &quot;second&quot;};
    Foo g(2,argv);
</code></pre>
<p><a href="http://codepad.org/RdeT0zK3" rel="nofollow">http://codepad.org/RdeT0zK3</a></p>
<p>Mir ist zu einem klar, dass gcc ein Warning wirft, weil ich kein const char habe, was kann man da tun?</p>
<p>Zum anderen benötige ich in Foo argv in der form, wie es ist noch mehrere male. Aber Boost hat nen Leak entdeckt und wirft mir:</p>
<pre><code>Dumping objects -&gt;
{270} normal block at 0x01307E58, 24 bytes long.
 Data: &lt;                &gt; 00 CD CD CD 00 00 00 00 00 00 00 00 00 00 00 00
{269} normal block at 0x01307DC0, 104 bytes long.
 Data: &lt;  #g }0      U2g&gt; 9C B2 23 67 88 7D 30 01 00 00 00 00 E8 55 32 67
{268} normal block at 0x01307D88, 8 bytes long.
 Data: &lt;  #g }0 &gt; A8 B2 23 67 C0 7D 30 01
{267} normal block at 0x01307D40, 24 bytes long.
 Data: &lt;                &gt; 00 CD CD CD 00 00 00 00 00 00 00 00 00 00 00 00
{266} normal block at 0x01307CF8, 24 bytes long.
 Data: &lt;                &gt; 00 CD CD CD 00 00 00 00 00 00 00 00 00 00 00 00
{265} normal block at 0x01307C90, 56 bytes long.
 Data: &lt;     }0         &gt; 01 00 00 00 88 7D 30 01 00 CD CD CD 00 00 00 00
Object dump complete.
</code></pre>
<p>Die Parameter stammen in der Regel aus der main, beim Test jedoch nicht.</p>
<p>Muss ich diese manuell reservieren, damit ich derartige probleme nicht habe?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1739001</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1739001</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Wed, 08 Jul 2009 08:10:04 GMT</pubDate></item><item><title><![CDATA[Reply to Wo ist der leak? on Wed, 08 Jul 2009 08:35:57 GMT]]></title><description><![CDATA[<p>Seikilos schrieb:</p>
<blockquote>
<p>...<br />
Mir ist zu einem klar, dass gcc ein Warning wirft, weil ich kein const char habe, was kann man da tun?...</p>
</blockquote>
<p><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 />
const machen, was const sein muss.</p>
<p>Ich befürchte, ich verstehe Dein Problem nicht...</p>
<p>Seikilos schrieb:</p>
<blockquote>
<p>...<br />
Zum anderen benötige ich in Foo argv in der form, wie es ist noch mehrere male. Aber Boost hat nen Leak entdeckt und wirft mir: ...</p>
</blockquote>
<p>Mir scheint, Du fragst hier zu anderem Code als Du zitiert hast.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1739011</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1739011</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Wed, 08 Jul 2009 08:35:57 GMT</pubDate></item><item><title><![CDATA[Reply to Wo ist der leak? on Wed, 08 Jul 2009 08:35:38 GMT]]></title><description><![CDATA[<p>aber es wird von int main ja auch nicht als const übergeben</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1739012</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1739012</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Wed, 08 Jul 2009 08:35:38 GMT</pubDate></item><item><title><![CDATA[Reply to Wo ist der leak? on Wed, 08 Jul 2009 08:41:18 GMT]]></title><description><![CDATA[<p>Seikilos schrieb:</p>
<blockquote>
<p>aber es wird von int main ja auch nicht als const übergeben</p>
</blockquote>
<p>Stört aber nicht ... in der Richtung ist die Zuweisung ja erlaubt.<br />
Und ziemlich sicher sind Schreibzugriffe auf &quot;argc und argv von main&quot; nicht erlaubt (auch wenn die Variable aus häßlichen &quot;früher-mal&quot;-Gründen nicht als const deklariert sind) - also quasi &quot;intern const&quot; <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="😉"
    /></p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1739014</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1739014</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Wed, 08 Jul 2009 08:41:18 GMT</pubDate></item><item><title><![CDATA[Reply to Wo ist der leak? on Wed, 08 Jul 2009 08:46:35 GMT]]></title><description><![CDATA[<p>Boost hat aber eine Funktion, die ein nicht-const char* [] erwartet.</p>
<p>Kann ich überhaupt ein char * argv[] als member deklarieren? auch wenn ich von mir aus alles dort dynamisch alloziiere?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1739020</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1739020</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Wed, 08 Jul 2009 08:46:35 GMT</pubDate></item><item><title><![CDATA[Reply to Wo ist der leak? on Wed, 08 Jul 2009 09:00:16 GMT]]></title><description><![CDATA[<p>Seikilos schrieb:</p>
<blockquote>
<p>Boost hat aber eine Funktion, die ein nicht-const char* [] erwartet.</p>
</blockquote>
<p>Ist ja auch kein Problem, da Du nirgends einen const char* hast.</p>
<p>Wenn Du eine hilfreiche Antwort möchtest, solltest Du uns vielleicht mal sagen was für eine Warnung und wo sie geworfen wird.</p>
<p>BTW:<br />
Die Leak-Anzeige kommt vom Visual Studio.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1739033</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1739033</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 08 Jul 2009 09:00:16 GMT</pubDate></item><item><title><![CDATA[Reply to Wo ist der leak? on Wed, 08 Jul 2009 09:14:11 GMT]]></title><description><![CDATA[<p>Keine Warnung, sondern der Memory Leak da oben.<br />
Funktionell geht alles, aber mein Boost::Test wirft mir dem Memory Leak</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1739048</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1739048</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Wed, 08 Jul 2009 09:14:11 GMT</pubDate></item><item><title><![CDATA[Reply to Wo ist der leak? on Wed, 08 Jul 2009 09:52:48 GMT]]></title><description><![CDATA[<p>Seikilos schrieb:</p>
<blockquote>
<p>Keine Warnung, sondern der Memory Leak da oben.<br />
Funktionell geht alles, aber mein Boost::Test wirft mir dem Memory Leak</p>
</blockquote>
<p>Ja und aus welcher Zeile stammt der Leak?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1739077</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1739077</guid><dc:creator><![CDATA[Blue-Tiger]]></dc:creator><pubDate>Wed, 08 Jul 2009 09:52:48 GMT</pubDate></item><item><title><![CDATA[Reply to Wo ist der leak? on Wed, 08 Jul 2009 10:40:59 GMT]]></title><description><![CDATA[<p>Steht keine Zeile.</p>
<p>Hab rausgefunden, dass Qt Objekte in Boost::Test Leak Meldungen verursachen.</p>
<p>Problem gelöst, danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1739119</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1739119</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Wed, 08 Jul 2009 10:40:59 GMT</pubDate></item><item><title><![CDATA[Reply to Wo ist der leak? on Wed, 08 Jul 2009 11:56:16 GMT]]></title><description><![CDATA[<p>Du kannst der VS-Debug-Runtime dazu mitteilen, daß sie die Zeilennummer und Filename mit im DumpLeak ausgibt. Einfach diesbezüglich mal googlen! Das macht das Finden der Leaks einfacher!</p>
<p>Gruß Kimmi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1739146</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1739146</guid><dc:creator><![CDATA[kimmi]]></dc:creator><pubDate>Wed, 08 Jul 2009 11:56:16 GMT</pubDate></item><item><title><![CDATA[Reply to Wo ist der leak? on Wed, 08 Jul 2009 12:07:10 GMT]]></title><description><![CDATA[<p>Also was du da laberst ist Quark, dein Code erst recht!</p>
<pre><code class="language-cpp">f_.argv=argv;
</code></pre>
<p>Geht mit Sicherheit nicht, du kannst doch nicht einfach char-Zeiger rumreichen, wie du willst! Nimm strcpy! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1739153</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1739153</guid><dc:creator><![CDATA[_D_D_D_D]]></dc:creator><pubDate>Wed, 08 Jul 2009 12:07:10 GMT</pubDate></item><item><title><![CDATA[Reply to Wo ist der leak? on Wed, 08 Jul 2009 12:25:12 GMT]]></title><description><![CDATA[<p>_D_D_D_D schrieb:</p>
<blockquote>
<p>...Geht mit Sicherheit nicht, ...</p>
</blockquote>
<p>Ich halte dagegen.</p>
<p>_D_D_D_D schrieb:</p>
<blockquote>
<p>Also was du da laberst ist Quark, ....</p>
</blockquote>
<p>Wer soll sich bei dem Tonfall überzeugen lassen? Kinderkram.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1739167</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1739167</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Wed, 08 Jul 2009 12:25:12 GMT</pubDate></item><item><title><![CDATA[Reply to Wo ist der leak? on Wed, 08 Jul 2009 13:03:52 GMT]]></title><description><![CDATA[<p>Wieso soll das nicht gehen? Klar kann ich einen Zeiger rumreichen und mir sind die Gefahren klar, aber hier kein Problem</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1739193</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1739193</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Wed, 08 Jul 2009 13:03:52 GMT</pubDate></item><item><title><![CDATA[Reply to Wo ist der leak? on Wed, 08 Jul 2009 14:47:14 GMT]]></title><description><![CDATA[<p>Bitte löschen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1739221</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1739221</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Wed, 08 Jul 2009 14:47:14 GMT</pubDate></item><item><title><![CDATA[Reply to Wo ist der leak? on Wed, 08 Jul 2009 14:33:32 GMT]]></title><description><![CDATA[<p>benutze dafür strcpy oder verwandte.<br />
simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1739228</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1739228</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Wed, 08 Jul 2009 14:33:32 GMT</pubDate></item></channel></rss>