<?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[Präprozessor-Angaben aus cc-Datei entfernen]]></title><description><![CDATA[<p>Hallo,</p>
<p><strong>ich</strong> habe hier eine Datei mit C++-Quellen und <strong>möchte</strong>, dass sie soweit kompiliert wird, dass ich <strong>keinerlei Präprozessor-Direktiven</strong> mehr drin zu stehen habe.</p>
<p>Mit dem Unix-Programm &quot;gcc -save-temps <a href="http://pdftotext.cc" rel="nofollow">pdftotext.cc</a>&quot; weden schonmal alle #include und #define-Direktiven aufgelöst und die entsprechenden Header-Dateien eingefügt. Die resultierende Datei &quot;pdftotext.ii&quot; enthält aber komischerweise noch Angaben wie:</p>
<pre><code># 1 &quot;pdftotext.cc&quot;
# 1 &quot;&lt;eingebaut&gt;&quot;
# 1 &quot;&lt;Kommandozeile&gt;&quot;
...
# 9 &quot;pdftotext.cc&quot;
# 1 &quot;./aconf.h&quot; 1
...
# 331 &quot;/usr/include/features.h&quot; 3 4
# 1 &quot;/usr/include/gnu/stubs.h&quot; 1 3 4
# 332 &quot;/usr/include/features.h&quot; 2 3 4
# 29 &quot;/usr/include/stdio.h&quot; 2 3 4
</code></pre>
<p>Und das verteilt in der ganzen Datei!</p>
<p>Weiß jemand, wie ich die Quellen komplett von Lattenzäunden (#) befreie, ohne Funktionalität einzubüßen <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>Danke im Voraus,<br />
Rapthor</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/150092/präprozessor-angaben-aus-cc-datei-entfernen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 12:57:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/150092.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 13 Jun 2006 07:19:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Präprozessor-Angaben aus cc-Datei entfernen on Tue, 13 Jun 2006 07:21:29 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p><strong>ich</strong> habe hier eine Datei mit C++-Quellen und <strong>möchte</strong>, dass sie soweit kompiliert wird, dass ich <strong>keinerlei Präprozessor-Direktiven</strong> mehr drin zu stehen habe.</p>
<p>Mit dem Unix-Programm &quot;gcc -save-temps <a href="http://pdftotext.cc" rel="nofollow">pdftotext.cc</a>&quot; weden schonmal alle #include und #define-Direktiven aufgelöst und die entsprechenden Header-Dateien eingefügt. Die resultierende Datei &quot;pdftotext.ii&quot; enthält aber komischerweise noch Angaben wie:</p>
<pre><code># 1 &quot;pdftotext.cc&quot;
# 1 &quot;&lt;eingebaut&gt;&quot;
# 1 &quot;&lt;Kommandozeile&gt;&quot;
...
# 9 &quot;pdftotext.cc&quot;
# 1 &quot;./aconf.h&quot; 1
...
# 331 &quot;/usr/include/features.h&quot; 3 4
# 1 &quot;/usr/include/gnu/stubs.h&quot; 1 3 4
# 332 &quot;/usr/include/features.h&quot; 2 3 4
# 29 &quot;/usr/include/stdio.h&quot; 2 3 4
</code></pre>
<p>Und das verteilt in der ganzen Datei!</p>
<p>Weiß jemand, wie ich die Quellen komplett von Lattenzäunden (#) befreie, ohne Funktionalität einzubüßen <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>Danke im Voraus,<br />
Rapthor</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1076667</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1076667</guid><dc:creator><![CDATA[rapthor]]></dc:creator><pubDate>Tue, 13 Jun 2006 07:21:29 GMT</pubDate></item><item><title><![CDATA[Reply to Präprozessor-Angaben aus cc-Datei entfernen on Tue, 13 Jun 2006 07:27:08 GMT]]></title><description><![CDATA[<p><a href="http://seth.positivism.org/man.cgi/1/cpp" rel="nofollow">C Preprocessor</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1076673</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1076673</guid><dc:creator><![CDATA[winheis]]></dc:creator><pubDate>Tue, 13 Jun 2006 07:27:08 GMT</pubDate></item><item><title><![CDATA[Reply to Präprozessor-Angaben aus cc-Datei entfernen on Tue, 13 Jun 2006 07:30:59 GMT]]></title><description><![CDATA[<p>Nachdem Du Deine Datei mittels 'cpp input.cpp output.temp' prozessiert hast, kannst Du die '#' Zeilen mit<br />
'grep -v &quot;^#&quot; output.temp &gt; output.ii' saeubern. Bei einem kleinen Test hier waren die entsprechenden Zeilen fuer g++ nicht notwendig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1076676</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1076676</guid><dc:creator><![CDATA[tim_g]]></dc:creator><pubDate>Tue, 13 Jun 2006 07:30:59 GMT</pubDate></item><item><title><![CDATA[Reply to Präprozessor-Angaben aus cc-Datei entfernen on Tue, 13 Jun 2006 07:55:46 GMT]]></title><description><![CDATA[<p>tim_g schrieb:</p>
<blockquote>
<p>Nachdem Du Deine Datei mittels 'cpp input.cpp output.temp' prozessiert hast, kannst Du die '#' Zeilen mit<br />
'grep -v &quot;^#&quot; output.temp &gt; output.ii' saeubern. Bei einem kleinen Test hier waren die entsprechenden Zeilen fuer g++ nicht notwendig.</p>
</blockquote>
<p>Blöderweise wird eine Header-Datei beim Ausführen des Befehls &quot;cpp input.cpp output.temp&quot; nicht gefunden. Obwohl diese sich im gleichen Verzeichnis befindet.<br />
&quot;cpp -B . input.cpp output.temp&quot; funktioniert da auch nicht; ich dachte die Angabe des Arbeitsverzeichnisses müste ausreichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1076693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1076693</guid><dc:creator><![CDATA[rapthor]]></dc:creator><pubDate>Tue, 13 Jun 2006 07:55:46 GMT</pubDate></item><item><title><![CDATA[Reply to Präprozessor-Angaben aus cc-Datei entfernen on Tue, 13 Jun 2006 09:21:34 GMT]]></title><description><![CDATA[<p>header.h:</p>
<pre><code class="language-cpp">class Foo
{
    int a, b;
    public:
    Foo(){};
};
</code></pre>
<p>test.cpp:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;

#include &quot;header.h&quot;

#define PI 42

int main()
{
    std::string pi (&quot;PI&quot;);

    Foo f();

    std::cout &lt;&lt; &quot;PI = &quot; &lt;&lt; pi &lt;&lt; std::endl;
}
</code></pre>
<p>cpp:</p>
<pre><code class="language-cpp">cpp test.cpp test.ii
</code></pre>
<p>funktioniert hier (Debian) ohne Probleme. Unter welchem System arbeitest Du? Hast Du die lokalen header mit &quot;...&quot; oder &lt;...&gt; umschlossen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1076751</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1076751</guid><dc:creator><![CDATA[tim_g]]></dc:creator><pubDate>Tue, 13 Jun 2006 09:21:34 GMT</pubDate></item><item><title><![CDATA[Reply to Präprozessor-Angaben aus cc-Datei entfernen on Tue, 13 Jun 2006 09:41:52 GMT]]></title><description><![CDATA[<p>tim_g schrieb:</p>
<blockquote>
<p>Hast Du die lokalen header mit &quot;...&quot; oder &lt;...&gt; umschlossen?</p>
</blockquote>
<p>Daran lag's! Ich hatte fälschlicherweise &quot;&lt;..&gt;&quot; verwendet. Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1076763</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1076763</guid><dc:creator><![CDATA[rapthor]]></dc:creator><pubDate>Tue, 13 Jun 2006 09:41:52 GMT</pubDate></item><item><title><![CDATA[Reply to Präprozessor-Angaben aus cc-Datei entfernen on Tue, 13 Jun 2006 10:08:37 GMT]]></title><description><![CDATA[<p>Die zusätzlichen Direktiven sind übrigens dafür da, dass der Compiler später noch sagen kann &quot;Fehler in test.cpp:12&quot; statt &quot;Fehler in /tmp/gcccx45ae:12342&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>
]]></description><link>https://www.c-plusplus.net/forum/post/1076781</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1076781</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 13 Jun 2006 10:08:37 GMT</pubDate></item></channel></rss>