<?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-Anweisung include richtig nutzen]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>vermutlich ist dieses ein ganz böser Anfängerfehler, aber er lässt mir keine Ruhe.</p>
<p>Und zwar habe ich eine .cpp Datei erstellt und in dieser Datei einige globale Funktionen definiert. Per include musste ich noch eine andere .h Datei einbinden.</p>
<p>Dieses führte dazu, dass ich an anderen Stellen Probleme mit der .h Datei bekommen hab.</p>
<p>Nun habe ich die .cpp Datei einfach in .h umbenannt und bekomme keine Fehler mehr.</p>
<p>Mit der Hilfe von Google kam ich nicht zu einem eindeutigen Ergebnis. Mein Compiler ist der 4.0.1 GCC für MacOs.</p>
<p>Könnt ihr mir sagen, wieso es nun klappt?</p>
<p>Mir wurde beigebracht, dass alle Dateien vor dem Compiler gleich sind und .h/.cpp nur für die bessere menschliche Lesbarkeit da ist.</p>
<p>Viele Grüße<br />
MM</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/253304/präprozessor-anweisung-include-richtig-nutzen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 13 Sep 2026 21:44:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/253304.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 31 Oct 2009 13:52:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Präprozessor-Anweisung include richtig nutzen on Sat, 31 Oct 2009 13:52:42 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>vermutlich ist dieses ein ganz böser Anfängerfehler, aber er lässt mir keine Ruhe.</p>
<p>Und zwar habe ich eine .cpp Datei erstellt und in dieser Datei einige globale Funktionen definiert. Per include musste ich noch eine andere .h Datei einbinden.</p>
<p>Dieses führte dazu, dass ich an anderen Stellen Probleme mit der .h Datei bekommen hab.</p>
<p>Nun habe ich die .cpp Datei einfach in .h umbenannt und bekomme keine Fehler mehr.</p>
<p>Mit der Hilfe von Google kam ich nicht zu einem eindeutigen Ergebnis. Mein Compiler ist der 4.0.1 GCC für MacOs.</p>
<p>Könnt ihr mir sagen, wieso es nun klappt?</p>
<p>Mir wurde beigebracht, dass alle Dateien vor dem Compiler gleich sind und .h/.cpp nur für die bessere menschliche Lesbarkeit da ist.</p>
<p>Viele Grüße<br />
MM</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1801163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1801163</guid><dc:creator><![CDATA[MrMilk]]></dc:creator><pubDate>Sat, 31 Oct 2009 13:52:42 GMT</pubDate></item><item><title><![CDATA[Reply to Präprozessor-Anweisung include richtig nutzen on Sat, 31 Oct 2009 14:06:01 GMT]]></title><description><![CDATA[<p>MrMilk schrieb:</p>
<blockquote>
<p>...<br />
Dieses führte dazu, dass ich an anderen Stellen Probleme mit der .h Datei bekommen hab...</p>
</blockquote>
<p>ich rate jetzt mal: mehrfacheinbindeprobleme?<br />
abhilfe: includeguards.<br />
mfg zillerthal</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1801171</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1801171</guid><dc:creator><![CDATA[rate mal mit zillerthal]]></dc:creator><pubDate>Sat, 31 Oct 2009 14:06:01 GMT</pubDate></item><item><title><![CDATA[Reply to Präprozessor-Anweisung include richtig nutzen on Sat, 31 Oct 2009 14:11:07 GMT]]></title><description><![CDATA[<p>includeguards</p>
<p>waren dabei (in beiden Fällen)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1801174</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1801174</guid><dc:creator><![CDATA[MrMilk]]></dc:creator><pubDate>Sat, 31 Oct 2009 14:11:07 GMT</pubDate></item><item><title><![CDATA[Reply to Präprozessor-Anweisung include richtig nutzen on Sat, 31 Oct 2009 15:35:50 GMT]]></title><description><![CDATA[<p>MrMilk schrieb:</p>
<blockquote>
<p>[...] böser Anfängerfehler [...] Nun habe ich die .cpp Datei einfach in .h umbenannt und bekomme keine Fehler mehr. [...] Mir wurde beigebracht, dass alle Dateien vor dem Compiler gleich sind und .h/.cpp nur für die bessere menschliche Lesbarkeit da ist.</p>
</blockquote>
<p>Ich habe lange nachgedacht, wie man auf so etwas antworten kann. Du gibst überhaupt keine Beispiele (Code, Programm-Struktur auf Dateiebene, Compiler/Linker/IDE). Du sprichst mehrere Punkte an, zu denen man mehrere Stunden etwas erzählen und erklären könnte. Es ist offensichtlich, dass Du mit dem ganzen Prozess, wie man von Quellcode zu einem ausführbaren Programm kommt, nicht vertraut bist. Dies sind aber <em>Grundlagen</em>, die in jedem guten C++ Buch beschrieben stehen -- sicherlich besser beschrieben, als das, was man im Rahmen einer Forum-Antwort bringen kann.</p>
<p>Versuch mal selbst zu recherchieren, welche Schritte durchgeführt werden, um von Quellcode zu einem ausführbaren Programm zu kommen. Hier mal ein paar Stichworte für Deine Recherche: &quot;Getrenntes Übersetzen&quot;, &quot;Übersetzungseinheit&quot;, &quot;Präprozessor&quot;, &quot;Linker&quot;.</p>
<p>Gruß,<br />
SP</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1801216</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1801216</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Sat, 31 Oct 2009 15:35:50 GMT</pubDate></item><item><title><![CDATA[Reply to Präprozessor-Anweisung include richtig nutzen on Sat, 31 Oct 2009 16:00:16 GMT]]></title><description><![CDATA[<p>MrMilk schrieb:</p>
<blockquote>
<p>Hallo zusammen,</p>
<p>vermutlich ist dieses ein ganz böser Anfängerfehler, aber er lässt mir keine Ruhe.</p>
<p>Und zwar habe ich eine .cpp Datei erstellt und in dieser Datei einige globale Funktionen definiert. Per include musste ich noch eine andere .h Datei einbinden.</p>
<p>Dieses führte dazu, dass ich an anderen Stellen Probleme mit der .h Datei bekommen hab.</p>
<p>Nun habe ich die .cpp Datei einfach in .h umbenannt und bekomme keine Fehler mehr.</p>
<p>Mit der Hilfe von Google kam ich nicht zu einem eindeutigen Ergebnis. Mein Compiler ist der 4.0.1 GCC für MacOs.</p>
<p>Könnt ihr mir sagen, wieso es nun klappt?</p>
<p>Mir wurde beigebracht, dass alle Dateien vor dem Compiler gleich sind und .h/.cpp nur für die bessere menschliche Lesbarkeit da ist.</p>
<p>Viele Grüße<br />
MM</p>
</blockquote>
<p>Bitte Fehlermeldung und Code einfügen..<br />
Aber ich schätze auch du hast Probleme mit dem Includeguard.<br />
Angenommen die Datei heisst Foo.hpp, dann sähe der Includeguard so aus:</p>
<pre><code class="language-cpp">#ifndef FOO_HPP
#define FOO_HPP

// Hier den Code hin

#endif // FOO_HPP
</code></pre>
<p>Was macht der Code?<br />
Es wird vom Präprozessor geprüft ob FOO_HPP bereits definiert ist. Wenn nicht, wird es definiert. Das sorgt dafür, dass er den Code nur einmal verwendet.<br />
Natürlich kann man die Guards auch anders nennen aber so wird es weitläufig gemacht.<br />
rya.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1801235</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1801235</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Sat, 31 Oct 2009 16:00:16 GMT</pubDate></item><item><title><![CDATA[Reply to Präprozessor-Anweisung include richtig nutzen on Sat, 31 Oct 2009 19:01:42 GMT]]></title><description><![CDATA[<p>So, da nun dort schon wieder das Wort Grundlagen steht, muss ich mir nun doch eingestehen, dass mein gefährliches Halbwissen nicht weiter hilft. Im besonderen auch nicht &quot;googeln auf Abruf&quot;.</p>
<p>Somit habe ich mich nun entschlossen etwas in meine C++ Ausbildung zu investieren und begrüße die Bücher &quot;Die C++ Programmiersprache&quot; von Bjarne Stroustrup und C++ Primer von Lippman/Lajoie auf meinem Schreibtisch. Dank sei den langen Öffnungszeiten von großen Buchhandlungen (ich möchte ihr keine Schleichwerbung machen <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="😉"
    /> ) bis 19 Uhr.</p>
<p>Viele Grüße<br />
MM</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1801331</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1801331</guid><dc:creator><![CDATA[MrMilk]]></dc:creator><pubDate>Sat, 31 Oct 2009 19:01:42 GMT</pubDate></item><item><title><![CDATA[Reply to Präprozessor-Anweisung include richtig nutzen on Sat, 31 Oct 2009 19:18:45 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1801344</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1801344</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 31 Oct 2009 19:18:45 GMT</pubDate></item></channel></rss>