<?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[#pragma ANSI-konform?]]></title><description><![CDATA[<p>Ich wollte mal fragen, ob die pragma-direktive ANSI-konform ist? Will nämlich mein Projekt sowohl unter Win32 als auch unter Linux laufen lassen.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/134580/pragma-ansi-konform</link><generator>RSS for Node</generator><lastBuildDate>Fri, 28 Aug 2026 17:30:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/134580.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 27 Jan 2006 07:35:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to #pragma ANSI-konform? on Fri, 27 Jan 2006 07:35:16 GMT]]></title><description><![CDATA[<p>Ich wollte mal fragen, ob die pragma-direktive ANSI-konform ist? Will nämlich mein Projekt sowohl unter Win32 als auch unter Linux laufen lassen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/977574</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/977574</guid><dc:creator><![CDATA[NullAhnung]]></dc:creator><pubDate>Fri, 27 Jan 2006 07:35:16 GMT</pubDate></item><item><title><![CDATA[Reply to #pragma ANSI-konform? on Fri, 27 Jan 2006 07:39:01 GMT]]></title><description><![CDATA[<p>#pragma als Direktive steht afaik im ANSI-Standard - aber wozu die Compiler das nutzen können (oder wollen), ist ihnen überlassen.<br />
(sprich: Du solltest dich nicht darauf verlassen, daß eine bestimmte Direktive auf jedem Compiler das selbe bewirkt)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/977575</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/977575</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 27 Jan 2006 07:39:01 GMT</pubDate></item><item><title><![CDATA[Reply to #pragma ANSI-konform? on Fri, 27 Jan 2006 07:59:47 GMT]]></title><description><![CDATA[<p>Naja, ich würde ja nur</p>
<pre><code class="language-cpp">#pragma once
</code></pre>
<p>benutzen, um ein mehrfaches &quot;includieren&quot; von Headern zu verhindern. Ab einer gewissen Projekt-Größe kann das unübersichtlich werden. Und meines Wissens nach führen zyklische Includes zu schwer auffindbaren Fehlern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/977586</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/977586</guid><dc:creator><![CDATA[NullAhnung]]></dc:creator><pubDate>Fri, 27 Jan 2006 07:59:47 GMT</pubDate></item><item><title><![CDATA[Reply to #pragma ANSI-konform? on Fri, 27 Jan 2006 08:04:19 GMT]]></title><description><![CDATA[<p>#pragma once ist nicht standardkonform.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/977589</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/977589</guid><dc:creator><![CDATA[...........]]></dc:creator><pubDate>Fri, 27 Jan 2006 08:04:19 GMT</pubDate></item><item><title><![CDATA[Reply to #pragma ANSI-konform? on Fri, 27 Jan 2006 08:05:17 GMT]]></title><description><![CDATA[<p>Da gibt es eine elegantere Variante (die auch von jedem Compiler verstanden werden sollte):</p>
<pre><code class="language-cpp">#ifndef HEADER_H
#define HEADER_H

...//Inhalt des Headers

#endif //HEADER_H
</code></pre>
<p>(das nennt sich &quot;Include-Guard&quot;, falls du nach weiteren Informationen suchst)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/977590</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/977590</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 27 Jan 2006 08:05:17 GMT</pubDate></item><item><title><![CDATA[Reply to #pragma ANSI-konform? on Fri, 27 Jan 2006 08:17:19 GMT]]></title><description><![CDATA[<p>Eleganter? Nicht wirklich, man ist mit dem Include-Guard nur auf der sicheren Seite, aber eleganter würde ich die 3 Zeilen nicht nennen. Wirklich elegant wäre es, wenn man überhaupt nichts reinschreiben müsste. Wie oft kommt es schon vor, dass man keine Include-Guards will?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/977598</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/977598</guid><dc:creator><![CDATA[Walli]]></dc:creator><pubDate>Fri, 27 Jan 2006 08:17:19 GMT</pubDate></item><item><title><![CDATA[Reply to #pragma ANSI-konform? on Fri, 27 Jan 2006 08:22:45 GMT]]></title><description><![CDATA[<p>Naja, ich wollte damit nur feststellen, dass das neue Studio 2005 statt der alten</p>
<pre><code class="language-cpp">#if !define HEADER_H
#define HEADER_H
...
#endif HEADER_H
</code></pre>
<p>aus VS6 nun mit der</p>
<pre><code class="language-cpp">#pragma once
</code></pre>
<p>-Direktive arbeitet, wenn man automatisch eine Klasse erstellt. Dass heißt wieder ein Schritt weg von der Konformität zu ANSI. Deswegen habe ich gefragt. Würde bedeuten: Noch mehr Arbeit, weil man sie nach Erstellen von Klassen auf IFDEF portieren muss.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/977599</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/977599</guid><dc:creator><![CDATA[NullAhnung]]></dc:creator><pubDate>Fri, 27 Jan 2006 08:22:45 GMT</pubDate></item><item><title><![CDATA[Reply to #pragma ANSI-konform? on Fri, 27 Jan 2006 08:36:08 GMT]]></title><description><![CDATA[<p>Wenn ich mich richtig erinnere gibts in den C++0x Vorschlägen auch #pragma once.</p>
<p>Eine Frage an die g++ Fraktion: kann der g++ bzw. gcc mittlerweile nicht auch #pragma once?</p>
<p>Übrigens benutze ich nur noch #pragma once, da mir der #ifndef Quatsch ziemlich auf den Senkel geht. Und Standard hin oder her, der gcc hat auch Erweiterungen die nicht im Standard drin stehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/977606</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/977606</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Fri, 27 Jan 2006 08:36:08 GMT</pubDate></item><item><title><![CDATA[Reply to #pragma ANSI-konform? on Fri, 27 Jan 2006 08:38:27 GMT]]></title><description><![CDATA[<p>VS verbietet keine Include-Guards sondern fügt sie nur nicht mehr automatisch ein wenn man sich ein Gerüst für eine Klasse generieren lässt. Wo ist also das Problem? Die Dinger kann man in ein paar Sekunden selber ergänzen wenn man sie braucht. Schöner wäre natürlich ein Auswahlhäkchen gewesen...</p>
<p>Aber kennt mittlerweile nicht sogar der GNU-Compiler das once-Pragma?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/977608</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/977608</guid><dc:creator><![CDATA[Walli]]></dc:creator><pubDate>Fri, 27 Jan 2006 08:38:27 GMT</pubDate></item><item><title><![CDATA[Reply to #pragma ANSI-konform? on Fri, 27 Jan 2006 08:40:56 GMT]]></title><description><![CDATA[<p>Artchi schrieb:</p>
<blockquote>
<p>Übrigens benutze ich nur noch #pragma once, da mir der #ifndef Quatsch ziemlich auf den Senkel geht.</p>
</blockquote>
<p>Jup, mach ich auch. Meine Quellen auf der Arbeit werden sowieso in überabsehbarer Zeit nur mit dem MS-Compiler übersetzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/977610</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/977610</guid><dc:creator><![CDATA[Walli]]></dc:creator><pubDate>Fri, 27 Jan 2006 08:40:56 GMT</pubDate></item><item><title><![CDATA[Reply to #pragma ANSI-konform? on Fri, 27 Jan 2006 08:41:01 GMT]]></title><description><![CDATA[<p>viele programmierer machens so</p>
<pre><code class="language-cpp">#ifndef HEADER_H 
#define HEADER_H 
#pragma once

#endif //HEADER_H
</code></pre>
<p>da bist du auf der sicheren seite.<br />
wenn der compiler den befehl hinter #pragma nicht kennt, dann hat er die #pragma-anweisung zu ignorieren. so sagts der standard.</p>
<p>theoretisch gibts in c++ neben #include auch noch #import. die #import-direktive included den header in jedem falle nur einmal. so, als würde sie mit #include und #pragma once included werden. allerdings benutzt #import kein schwein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/977612</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/977612</guid><dc:creator><![CDATA[Konfusius]]></dc:creator><pubDate>Fri, 27 Jan 2006 08:41:01 GMT</pubDate></item><item><title><![CDATA[Reply to #pragma ANSI-konform? on Fri, 27 Jan 2006 08:45:21 GMT]]></title><description><![CDATA[<p>Das ist ja noch häßlicher. Manche fragen auch ab ob die Compiler-Version für #pragma once reicht. Sind wir also schon bei 6 Zeilen Präprozessor-Geraffel. Ich glaube ich schreibe mir einen Prä-Präprozessor der die Dinger automatisch einfügt, dann habe ich endlich Ruhe mit dem Mist <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/977615</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/977615</guid><dc:creator><![CDATA[Walli]]></dc:creator><pubDate>Fri, 27 Jan 2006 08:45:21 GMT</pubDate></item><item><title><![CDATA[Reply to #pragma ANSI-konform? on Fri, 27 Jan 2006 08:46:11 GMT]]></title><description><![CDATA[<p>Konfusius schrieb:</p>
<blockquote>
<p>allerdings benutzt #import kein schwein.</p>
</blockquote>
<p>Warum nicht? Läuft das irgendwo nicht?</p>
<p>PS: Ich habe nicht gesagt, das VS die INCLUDES verbietet, nur das er sie nicht mehr automatisch einfügt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/977616</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/977616</guid><dc:creator><![CDATA[NullAhnung]]></dc:creator><pubDate>Fri, 27 Jan 2006 08:46:11 GMT</pubDate></item><item><title><![CDATA[Reply to #pragma ANSI-konform? on Fri, 27 Jan 2006 09:08:45 GMT]]></title><description><![CDATA[<p>Walli schrieb:</p>
<blockquote>
<p>Das ist ja noch häßlicher. Manche fragen auch ab ob die Compiler-Version für #pragma once reicht. Sind wir also schon bei 6 Zeilen Präprozessor-Geraffel. Ich glaube ich schreibe mir einen Prä-Präprozessor der die Dinger automatisch einfügt, dann habe ich endlich Ruhe mit dem Mist <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> .</p>
</blockquote>
<p>Die Frage habe ich mir schon lange gestellt, warum die Präprozessoren sich nicht einfach selbst merken, welche Datei sie schon mal includiert haben?</p>
<p>Übrigens, Boost arbeitet an Wave, einem Präprozessor der endlich Schluss machen soll, mit den inkompatibilitäten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/977632</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/977632</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Fri, 27 Jan 2006 09:08:45 GMT</pubDate></item><item><title><![CDATA[Reply to #pragma ANSI-konform? on Fri, 27 Jan 2006 09:11:49 GMT]]></title><description><![CDATA[<p>Artchi schrieb:</p>
<blockquote>
<p>Die Frage habe ich mir schon lange gestellt, warum die Präprozessoren sich nicht einfach selbst merken, welche Datei sie schon mal includiert haben?</p>
</blockquote>
<p>Weil es durchaus passieren kann, daß jemand ABSICHTLICH einen Header doppelt einbindet (der z.B. je nach Vorbedingungen die Deklarationen oder die Definitionen deiner globalen Variablen bereitstellt).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/977639</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/977639</guid><dc:creator><![CDATA[CStoll (off)]]></dc:creator><pubDate>Fri, 27 Jan 2006 09:11:49 GMT</pubDate></item><item><title><![CDATA[Reply to #pragma ANSI-konform? on Fri, 27 Jan 2006 19:18:47 GMT]]></title><description><![CDATA[<p>CStoll (off) schrieb:</p>
<blockquote>
<p>Artchi schrieb:</p>
<blockquote>
<p>Die Frage habe ich mir schon lange gestellt, warum die Präprozessoren sich nicht einfach selbst merken, welche Datei sie schon mal includiert haben?</p>
</blockquote>
<p>Weil es durchaus passieren kann, daß jemand ABSICHTLICH einen Header doppelt einbindet (der z.B. je nach Vorbedingungen die Deklarationen oder die Definitionen deiner globalen Variablen bereitstellt).</p>
</blockquote>
<p>Das passiert so selten, dass ein pragma für die Fälle wo absichtlich doppelt eingebunden wird sinnvoller gewesen wäre.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/978394</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/978394</guid><dc:creator><![CDATA[Walli]]></dc:creator><pubDate>Fri, 27 Jan 2006 19:18:47 GMT</pubDate></item><item><title><![CDATA[Reply to #pragma ANSI-konform? on Fri, 27 Jan 2006 23:44:15 GMT]]></title><description><![CDATA[<p>Hab ich mir auch so gedacht. Wäre sinnvoller explizit anzugeben, das er es includieren muß. Macht sogar logisch mehr Sinn.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/978615</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/978615</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Fri, 27 Jan 2006 23:44:15 GMT</pubDate></item></channel></rss>