<?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[Compiler - wird toter Code erkannt?]]></title><description><![CDATA[<p>Servus,</p>
<p>ich habe folgenden Code-Schnippsel und der kommt verdammt oft vor.</p>
<pre><code class="language-cpp">// Globals, global.h, global.cpp
extern string g_logl;
// -- // Globals

H2r::H2r( vector&lt;string&gt;&amp; seqList ){
    if ( g_logl == &quot;1&quot; ){ cout &lt;&lt; &quot;H2r - H2r() ...\n&quot;; }
    ...
</code></pre>
<p>Jetzt muss ich herausfinden, ob mein Compiler diesen toten Code erkennt, wie mache ich das mit einem Profiler?</p>
<p>Ich habe schon eine Vermutung wie die Antwort ausfällt, ich denke da die Entscheidung ob Logging-Version oder nicht erst zur Laufzeit fällt - wird das wohl sicher im Laufzeit-Code landen?! Es wird dabei eine Konfigurationsdatei eingelesen und dann die Werte entsprechend gesetzt.</p>
<p>Kann ich eine Konstante setzen, dass der Compiler kapiert, dass das sicher toter Code ist und diesen dann nicht in die Laufzeitversion übernimmt, wenn ja wie geht das?</p>
<p>Aus meinem Buch ist ein Weg sicher - das festlegen durch Präprozessoranweisung, aber dafür müsste ich alles ändern, daher gefällt mir die Lösung via Konstante schon besser.</p>
<p>Danke vorab.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/280708/compiler-wird-toter-code-erkannt</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 00:17:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/280708.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 19 Jan 2011 22:36:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Compiler - wird toter Code erkannt? on Wed, 19 Jan 2011 22:36:50 GMT]]></title><description><![CDATA[<p>Servus,</p>
<p>ich habe folgenden Code-Schnippsel und der kommt verdammt oft vor.</p>
<pre><code class="language-cpp">// Globals, global.h, global.cpp
extern string g_logl;
// -- // Globals

H2r::H2r( vector&lt;string&gt;&amp; seqList ){
    if ( g_logl == &quot;1&quot; ){ cout &lt;&lt; &quot;H2r - H2r() ...\n&quot;; }
    ...
</code></pre>
<p>Jetzt muss ich herausfinden, ob mein Compiler diesen toten Code erkennt, wie mache ich das mit einem Profiler?</p>
<p>Ich habe schon eine Vermutung wie die Antwort ausfällt, ich denke da die Entscheidung ob Logging-Version oder nicht erst zur Laufzeit fällt - wird das wohl sicher im Laufzeit-Code landen?! Es wird dabei eine Konfigurationsdatei eingelesen und dann die Werte entsprechend gesetzt.</p>
<p>Kann ich eine Konstante setzen, dass der Compiler kapiert, dass das sicher toter Code ist und diesen dann nicht in die Laufzeitversion übernimmt, wenn ja wie geht das?</p>
<p>Aus meinem Buch ist ein Weg sicher - das festlegen durch Präprozessoranweisung, aber dafür müsste ich alles ändern, daher gefällt mir die Lösung via Konstante schon besser.</p>
<p>Danke vorab.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2009021</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2009021</guid><dc:creator><![CDATA[Jay1980]]></dc:creator><pubDate>Wed, 19 Jan 2011 22:36:50 GMT</pubDate></item><item><title><![CDATA[Reply to Compiler - wird toter Code erkannt? on Wed, 19 Jan 2011 22:56:24 GMT]]></title><description><![CDATA[<p>Jay1980 schrieb:</p>
<blockquote>
<p>ich habe folgenden Code-Schnippsel und der kommt verdammt oft vor.</p>
</blockquote>
<p>Dann wird es Zeit, diesen Codeschnipsel in eine Funktion auszulagern. Damit erübrigt sich dann wohl der Rest der Frage.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2009029</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2009029</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Wed, 19 Jan 2011 22:56:24 GMT</pubDate></item><item><title><![CDATA[Reply to Compiler - wird toter Code erkannt? on Thu, 20 Jan 2011 10:05:23 GMT]]></title><description><![CDATA[<p>Jay1980 schrieb:</p>
<blockquote>
<p>aber dafür müsste ich alles ändern, daher gefällt mir die Lösung via Konstante schon besser.</p>
</blockquote>
<p>Code sollte leicht zu warten sein. Wartung bedeutet oft auch Veränderung. Wenn du feststellst, dass du für eine kleine Änderung den Code an zig Stellen anfassen musst, solltest du mit dem Refactoring anfangen, z.B. indem du den Logging-Mechanismus wie oben vorgeschlagen in eine Funktion oder Klasse auslagerst, so dass du solche Änderungen nur an einer Stelle machen musst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2009122</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2009122</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 20 Jan 2011 10:05:23 GMT</pubDate></item><item><title><![CDATA[Reply to Compiler - wird toter Code erkannt? on Thu, 20 Jan 2011 11:51:06 GMT]]></title><description><![CDATA[<p>Jay1980 schrieb:</p>
<blockquote>
<p>Jetzt muss ich herausfinden, ob mein Compiler diesen toten Code erkennt, wie mache ich das mit einem Profiler?</p>
</blockquote>
<p>Wo ist hier &quot;toter Code&quot;?</p>
<p>Jay1980 schrieb:</p>
<blockquote>
<p>Ich habe schon eine Vermutung wie die Antwort ausfällt, ich denke da die Entscheidung ob Logging-Version oder nicht erst zur Laufzeit fällt - wird das wohl sicher im Laufzeit-Code landen?! Es wird dabei eine Konfigurationsdatei eingelesen und dann die Werte entsprechend gesetzt.</p>
</blockquote>
<p>Meinst Du, dass der Wert von g_logl sich zur Laufzeit entscheidet?</p>
<p>Jay1980 schrieb:</p>
<blockquote>
<p>Kann ich eine Konstante setzen, dass der Compiler kapiert, dass das sicher toter Code ist und diesen dann nicht in die Laufzeitversion übernimmt</p>
</blockquote>
<p>Wozu ist dann die Abfrage eigentlich da, wenn doch -- falls ich Dich richtig verstehe -- g_logl nie gleich &quot;1&quot; sein kann?</p>
<p>Jay1980 schrieb:</p>
<blockquote>
<p>Lösung via Konstante.</p>
</blockquote>
<p>Ich sehe hier keine Konstante.</p>
<p>kk</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2009210</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2009210</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Thu, 20 Jan 2011 11:51:06 GMT</pubDate></item></channel></rss>