<?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[VISTA &amp;amp; precompiler]]></title><description><![CDATA[<p>Gibt es eine Möglichkeit, folgenden Pseudocode auszuführen</p>
<p>#ifdef VISTA<br />
....<br />
#endif</p>
<p>Ps. Ich weiß, dass man das Betriebssystem ermitteln kann, aber wenn ich den Precompiler nutze, ist das ja etwas, was vor jedem Funktionsaufruf liegt.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/235417/vista-amp-precompiler</link><generator>RSS for Node</generator><lastBuildDate>Wed, 08 Apr 2026 05:40:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/235417.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 02 Mar 2009 06:47:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to VISTA &amp;amp; precompiler on Mon, 02 Mar 2009 06:47:18 GMT]]></title><description><![CDATA[<p>Gibt es eine Möglichkeit, folgenden Pseudocode auszuführen</p>
<p>#ifdef VISTA<br />
....<br />
#endif</p>
<p>Ps. Ich weiß, dass man das Betriebssystem ermitteln kann, aber wenn ich den Precompiler nutze, ist das ja etwas, was vor jedem Funktionsaufruf liegt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672609</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672609</guid><dc:creator><![CDATA[Percy2000]]></dc:creator><pubDate>Mon, 02 Mar 2009 06:47:18 GMT</pubDate></item><item><title><![CDATA[Reply to VISTA &amp;amp; precompiler on Mon, 02 Mar 2009 07:13:28 GMT]]></title><description><![CDATA[<p>Was willst Du mit so etwas bezwecken? Soll das Programm mal für Vista und mal für nicht Vista Platformen kompiliert werden, oder möchtest Du Code je nach OS ausführen?<br />
Preprozessor Code wird gar nicht ausgefüht, er wird vor dem Compiler interpretiert.<br />
Dadurch erhälst Du keinen dynamischen Code! Dazu müsstest Du GetVersionEx verwenden:<br />
<a href="http://msdn.microsoft.com/en-us/library/ms724451(VS.85).aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/ms724451(VS.85).aspx</a></p>
<p>Wenn Du Platformen für das SDK definieren willst, musst Du die entsprechenden #defines verwenden, wie z.B. NTDDI_VERSION<br />
Siehe MSDN<br />
Using the Windows Headers (Windows)<br />
<a href="http://msdn.microsoft.com/en-us/library/aa383745(VS.85).aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/aa383745(VS.85).aspx</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672619</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672619</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Mon, 02 Mar 2009 07:13:28 GMT</pubDate></item><item><title><![CDATA[Reply to VISTA &amp;amp; precompiler on Mon, 02 Mar 2009 07:11:09 GMT]]></title><description><![CDATA[<p>1. heißt es &quot;preprocessor&quot; und nicht &quot;precompiler&quot;<br />
2. das Stück Code ist kein ausführbarer Code, sondern paar Anweisungen für ein Textersetzungswerkzeug <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="🙂"
    /><br />
3. ist nicht klar, was du denn willst</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672620</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672620</guid><dc:creator><![CDATA[Superlexx]]></dc:creator><pubDate>Mon, 02 Mar 2009 07:11:09 GMT</pubDate></item><item><title><![CDATA[Reply to VISTA &amp;amp; precompiler on Mon, 02 Mar 2009 09:37:59 GMT]]></title><description><![CDATA[<p>ja, es ist der Präprozessor - danke für den Hiweis.<br />
Der Hintergrund ist simpel: Auf dem einen OS (2000) läuft eine bestimmte dll - 2embed.ll - nicht, resp. erzeugt Fehlermeldungen, die den Programmablauf empfindlich stören, auf Vista hingegen läuft das Ganze tadellos.</p>
<p>Folglich möchte ich den Bereich, der auf die entsprechende Biblioteh vereweist, einkapseln.</p>
<p>Allerdings muss ich dies dem Präproessor mitteilen, ansonsten bekomme ich auf Windows 2000 eine Fehlermeldung, resp. das Programm startet erst gar nicht richtig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672690</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672690</guid><dc:creator><![CDATA[Percy2000]]></dc:creator><pubDate>Mon, 02 Mar 2009 09:37:59 GMT</pubDate></item><item><title><![CDATA[Reply to VISTA &amp;amp; precompiler on Mon, 02 Mar 2009 10:04:56 GMT]]></title><description><![CDATA[<p>Wieso dem Preprozessor??? Der wird doch gar nicht ausgewertet, wenn die Anwendung schon erzeugt wurde!</p>
<p>Verwende die Methode entweder über &quot;/Delayload&quot; oder via LoadLibrary/GetprocAddress!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672706</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672706</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Mon, 02 Mar 2009 10:04:56 GMT</pubDate></item><item><title><![CDATA[Reply to VISTA &amp;amp; precompiler on Wed, 04 Mar 2009 20:10:04 GMT]]></title><description><![CDATA[<p>Hol dir zur Laufzweit per <strong>GetVersionEx</strong> die Windowsversion und entscheide dann welche Funktion ausgeführt werden soll, so kannst du einen *.exe OS unabhängig einsetzten. Per <strong>LoadLibrary/GetprocAddress</strong> kannst du dann auch Funktionen programmmieren die es für das entsprechende OS gar nicht gibt. Diese Funktionen werden dann nur ausgeführt wenn das OS die Funktionen auch enthält. Ich verwende z.B. <strong>AddFontMemResourceEx</strong> und <strong>AddFontResource</strong> wobei <strong>AddFontResource</strong> auf Win9x Systemen und <strong>AddFontMemResourceEx</strong> auf Win2k und höher ausgeführt wird. Ich benötigt so nur eine *.exe um ab Win9x alle Microsoft OS abzudecken. Warscheinlich ist <strong>LoadLibrary/GetprocAddress</strong> aber keine gute Wahl, wenn du diese Aufrufe in einer Schleife ausführst. Ich kann mir vorstellen, daß es dann zu Performance Einbusen kommt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1674358</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1674358</guid><dc:creator><![CDATA[.....]]></dc:creator><pubDate>Wed, 04 Mar 2009 20:10:04 GMT</pubDate></item></channel></rss>