<?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[Makro für die WinAPI-Version]]></title><description><![CDATA[<p>Gibt es ein Makro, die die Versionsnummer der installierten WinAPI-Dateien beinhaltet? Meine Frage hat folgenden Hintergrund: Es gibt ja ein paar Funktionen, die deprecated sind und durch andere, bessere Funktionen ersetzt wurden. Und hier will ich sowas schreiben in der Art von:</p>
<pre><code class="language-cpp">#if WINAPI_VERSION&lt;2005
Function();
#else
BrandNewSuperFunction();
#endif
</code></pre>
<p>Damit bleibt das Programm auf dem neuesten Stand und trotzdem kompatibel zu älteren Compilern bzw. SDKs.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/159110/makro-für-die-winapi-version</link><generator>RSS for Node</generator><lastBuildDate>Tue, 21 Jul 2026 10:00:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/159110.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 12 Sep 2006 08:59:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Makro für die WinAPI-Version on Tue, 12 Sep 2006 08:59:24 GMT]]></title><description><![CDATA[<p>Gibt es ein Makro, die die Versionsnummer der installierten WinAPI-Dateien beinhaltet? Meine Frage hat folgenden Hintergrund: Es gibt ja ein paar Funktionen, die deprecated sind und durch andere, bessere Funktionen ersetzt wurden. Und hier will ich sowas schreiben in der Art von:</p>
<pre><code class="language-cpp">#if WINAPI_VERSION&lt;2005
Function();
#else
BrandNewSuperFunction();
#endif
</code></pre>
<p>Damit bleibt das Programm auf dem neuesten Stand und trotzdem kompatibel zu älteren Compilern bzw. SDKs.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1135652</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1135652</guid><dc:creator><![CDATA[WinAPI-Neugieriger]]></dc:creator><pubDate>Tue, 12 Sep 2006 08:59:24 GMT</pubDate></item><item><title><![CDATA[Reply to Makro für die WinAPI-Version on Tue, 12 Sep 2006 11:15:27 GMT]]></title><description><![CDATA[<p>ein Makro ist ja immer nur so aktuell, wie das include File, in dem es definiert ist, aber schau Dir mal folgende Funktion an, die ich auch schon öfter benutzt habe.</p>
<pre><code>OSVERSIONINFO OSV;

...
GetVersionEx (&amp;OSV);
...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1135768</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1135768</guid><dc:creator><![CDATA[Uli]]></dc:creator><pubDate>Tue, 12 Sep 2006 11:15:27 GMT</pubDate></item><item><title><![CDATA[Reply to Makro für die WinAPI-Version on Tue, 12 Sep 2006 16:26:05 GMT]]></title><description><![CDATA[<p>[quote=&quot;Uli&quot;]ein Makro ist ja immer nur so aktuell, wie das include File, in dem es definiert ist, aber schau Dir mal folgende Funktion an, die ich auch schon öfter benutzt habe.</p>
<blockquote>
<p>OSVERSIONINFO OSV;</p>
<p>...<br />
GetVersionEx (&amp;OSV);<br />
...<br />
[/code]</p>
</blockquote>
<p>Ihm gehts glaube ich, um die installierte SDK, nicht um die Versionsnummer des OS.</p>
<p>@WinAPI-Neugieriger:<br />
Es gib keine, in einem Makro festgehaltene Versionsnummer der aktuell verwendeteten API, was dir bleibt<br />
ist folgendes:</p>
<p>Tabelle 1.1 Vordefinierte ANSI-Makros</p>
<p>Makro Beschreibung<br />
__DATE__ Das Kompilierungsdatum der aktuellen Quelldatei. Das Datum ist ein Zeichenfolgenliteral in der Form mmm tt jjjj. Der Monatsname mmm ist derselbe wie bei den Daten, die durch die Bibliotheksfunktion asctime erzeugt werden, die in TIME.H deklariert wird.<br />
__FILE__ Der Name der aktuellen Quelldatei. __FILE__ wird zu einer Zeichenfolge expandiert, die von doppelten Anführungszeichen eingeschlossen ist.<br />
__LINE__ Die Zeilennummer in der aktuellen Quelldatei. Die Zeilennummer ist eine dezimale Ganzzahlkonstante. Sie kann mit der #line-Direktive geändert werden.<br />
__STDC__ Zeigt volle Übereinstimmung mit dem ANSI C-Standard an. Wird nur als Ganzzahlkonstante mit dem Wert 1 definiert, wenn die Compileroption /Z angegeben wird und kein C++-Code kompiliert wird; andernfalls ist die Konstante undefiniert.<br />
__TIME__ Die letzte Kompilierungszeit der aktuellen Quelldatei. Die Zeit wird als Zeichenfolgenliteral in der Form hh<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f1f2-1f1f2.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--myanmar_burma_"
      title=":mm:"
      alt="🇲🇲"
    />ss angegeben.<br />
__TIMESTAMP__ Datum und Uhrzeit der letzten Änderung der aktuellen Quelldatei, ausgedrückt als Zeichenfolgenliteral in der Form ttt mmm Datum hh<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f1f2-1f1f2.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--myanmar_burma_"
      title=":mm:"
      alt="🇲🇲"
    />ss:jjjj, wobei ttt der abgekürzte Wochentag und Datum eine Ganzzahl zwischen 1 und 31 ist.</p>
<p>Tabelle 1.2 Microsoft-spezifische vordefinierte Makros</p>
<p>Makro Beschreibung<br />
_CHAR_UNSIGNED Standardmäßig ist der char-Typ ohne Vorzeichen. Ist definiert, wenn /J angegeben wird.<br />
<strong>__cplusplus Nur für C++-Programme definiert.</strong><br />
_CPPRTTI Definiert für Code, der mit /GR (Run-Time-Type-Informationen zur Laufzeit aktivieren) kompiliert wird.<br />
_CPPUNWIND Definiert für Code, der mit /GX (Ausnahmebehandlung aktivieren) kompiliert wird.<br />
_DLL Definiert, wenn /MD oder /MDd (Multithreaded DLL) angegeben wird.<br />
_M_ALPHA Definiert für DEC ALPHA-Plattformen. Wird vom ALPHA-Compiler als 1 definiert und ist undefiniert, wenn ein anderer Compiler verwendet wird.<br />
_M_IX86 Definiert für x86-Prozessoren. Weitere Einzelheiten in Tabelle 1.3.<br />
_M_MPPC Definiert für Power Macintosh-Plattformen. Standard ist 601 (/QP601). Weitere Einzelheiten in Tabelle 1.4.<br />
_M_MRX000 Definiert für MIPS-Plattformen. Standard ist 4000 (/QMR4000). Weitere Einzelheiten in Tabelle 1.5.<br />
_M_PPC Definiert für PowerPC-Plattformen. Standard ist 604 (/QP604). Weitere Einzelheiten in Tabelle 1.6.<br />
_MFC_VER Definiert die MFC-Version. Definiert als 0x0421 für Microsoft Foundation Class Library 4.21. Immer definiert.<br />
_MSC_EXTENSIONS Dieses Makro ist definiert, wenn mit der Compileroption /Ze kompiliert wird (Standard). Hat den Wert 1, wenn es definiert ist.<br />
_<strong>MSC_VER Definiert die Compilerversion. Definiert als 1100 für Microsoft Visual C++<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/2122.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--trade_mark"
      title=":trade_mark:"
      alt="™"
    /> 5.0. Immer definiert.</strong><br />
_MT Definiert, wenn /MD oder /MDd (Multithreaded DLL) oder /MT oder /MTd (Multithreaded) angegeben wird.<br />
<strong>_WIN32 Definiert für Win32<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/00ae.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--registered"
      title=":registered:"
      alt="®"
    />-Anwendungen. Immer definiert.</strong></p>
<p>Sonst kannst du dir ja auch selbst Versionsnummer für deine Funktionen anlegen...alá:</p>
<pre><code class="language-cpp">#define MY_FUNCTION_COLLECTION_VER    1000
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1136023</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1136023</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Tue, 12 Sep 2006 16:26:05 GMT</pubDate></item></channel></rss>