<?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[In einem #define auf die Textzeile zugreifen]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich nutze zum Debuggen ein einfaches Define (das mit ein netter Mensch aus dem Forum hier gezeigt hat):</p>
<p>#define print(x) cout &lt;&lt; #x &lt;&lt; &quot;=&quot; &lt;&lt; x &lt;&lt; endl;</p>
<p>Dieses würde ich gerne dahingehend erweitern, dass mir auch noch die Zeile angezeigt wird, in der ein print(foo) aufruf steht. Da das #define nur eine StringOperation vom Preprocessor ist, müsste der doch eigentlich noch direkt auf der originalen .cpp-Datei arbeiten, so dass es eigentlich auch möglich sein müsste, auf die entsprechende Zeilennummer zuzugreifen.<br />
Weiss jemand ob (und möglichlist auch wie) so was geht?</p>
<p>Nikolas</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/259957/in-einem-define-auf-die-textzeile-zugreifen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 08 Sep 2026 16:33:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/259957.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 29 Jan 2010 22:25:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to In einem #define auf die Textzeile zugreifen on Fri, 29 Jan 2010 22:39:42 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich nutze zum Debuggen ein einfaches Define (das mit ein netter Mensch aus dem Forum hier gezeigt hat):</p>
<p>#define print(x) cout &lt;&lt; #x &lt;&lt; &quot;=&quot; &lt;&lt; x &lt;&lt; endl;</p>
<p>Dieses würde ich gerne dahingehend erweitern, dass mir auch noch die Zeile angezeigt wird, in der ein print(foo) aufruf steht. Da das #define nur eine StringOperation vom Preprocessor ist, müsste der doch eigentlich noch direkt auf der originalen .cpp-Datei arbeiten, so dass es eigentlich auch möglich sein müsste, auf die entsprechende Zeilennummer zuzugreifen.<br />
Weiss jemand ob (und möglichlist auch wie) so was geht?</p>
<p>Nikolas</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1847282</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1847282</guid><dc:creator><![CDATA[Nikolas]]></dc:creator><pubDate>Fri, 29 Jan 2010 22:39:42 GMT</pubDate></item><item><title><![CDATA[Reply to In einem #define auf die Textzeile zugreifen on Fri, 29 Jan 2010 22:28:50 GMT]]></title><description><![CDATA[<p>Mal ganz ohne überlegen, geht nicht schon</p>
<pre><code class="language-cpp">#define print(x) cout &lt;&lt; &quot;Zeile &quot; &lt;&lt; __LINE__ &lt;&lt; ':' &lt;&lt; #x &lt;&lt; &quot;=&quot; &lt;&lt; x &lt;&lt; endl;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1847285</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1847285</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 29 Jan 2010 22:28:50 GMT</pubDate></item><item><title><![CDATA[Reply to In einem #define auf die Textzeile zugreifen on Fri, 29 Jan 2010 22:31:23 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#define print(x) std::cout &lt;&lt; #x &lt;&lt; &quot;=&quot; &lt;&lt; x &lt;&lt; &quot; (Zeile &quot; &lt;&lt; __LINE__ &lt;&lt; &quot; aus &quot; &lt;&lt; __FILE__ &lt;&lt; &quot;)&quot; &lt;&lt; std::endl;
</code></pre>
<p>Und qualifiziere die Bezeichner mit <code>std::</code> , wenn es sich um sowas Allgemeingültiges wie das Debug-Makro handelt! <code>print</code> ist ausserdem ein schlecht gewählter Name, weil es sehr wahrscheinlich ist, dass er sonst irgendwo verwendet wird. Bei Makros musst du besonders aufpassen, weil sie keinen Scope berücksichtigen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1847286</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1847286</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 29 Jan 2010 22:31:23 GMT</pubDate></item><item><title><![CDATA[Reply to In einem #define auf die Textzeile zugreifen on Fri, 29 Jan 2010 22:32:07 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Und qualifiziere die Bezeichner mit <code>std::</code> , wenn es sich um sowas Allgemeingültiges wie das Debug-Makro handelt!</p>
</blockquote>
<p>Autsch. Ja, hast recht, das geht gar nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1847289</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1847289</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 29 Jan 2010 22:32:07 GMT</pubDate></item><item><title><![CDATA[Reply to In einem #define auf die Textzeile zugreifen on Fri, 29 Jan 2010 22:37:56 GMT]]></title><description><![CDATA[<p>Optimal, vielen Dank euch beiden <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1847293</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1847293</guid><dc:creator><![CDATA[Nikolas]]></dc:creator><pubDate>Fri, 29 Jan 2010 22:37:56 GMT</pubDate></item></channel></rss>