Heim >Backend-Entwicklung >C++ >Wie kann ich das Betriebssystem während der C-Präprozessor-Kompilierung zuverlässig erkennen?

Wie kann ich das Betriebssystem während der C-Präprozessor-Kompilierung zuverlässig erkennen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-15 07:10:14262Durchsuche

How Can I Reliably Detect the Operating System During C Preprocessor Compilation?

Präprozessorerkennung von Betriebssystemen in C

Die Erkennung des Betriebssystems während der Präprozessorverarbeitung ist für das Schreiben von plattformübergreifendem C/C-Code unerlässlich. So erreichen Sie dies zuverlässig für Mac OS X, iOS, Linux und Windows:


Die meisten Compiler definieren Makros, die das Betriebssystem identifizieren. Für die Präprozessorerkennung sind diese vordefinierten Makros von entscheidender Bedeutung. GCC verfügt beispielsweise über eine umfassende Liste, die Folgendes umfasst:

</p>
<h1>falls definiert (WIN32) || definiert(_WIN32) || definiert(__WIN32__) || definiert(__NT__)</h1>
<pre class="brush:php;toolbar:false">// Define something for Windows (32-bit and 64-bit)
#ifdef _WIN64
    // Define something unique for Windows (64-bit only)
#else
    // Define something specific for Windows (32-bit only)
#endif

elif APPLE

#include <TargetConditionals.h>
#if TARGET_IPHONE_SIMULATOR
    // iOS, tvOS, or watchOS Simulator
#elif TARGET_OS_MACCATALYST
    // Mac's Catalyst (bridging iOS API into Mac)
#elif TARGET_OS_IPHONE
    // iOS, tvOS, or watchOS device
#elif TARGET_OS_MAC
    // Other Apple platforms
#else
    // Error: Unknown Apple platform
#endif

elif ANDROID

// Handled elsewhere (Android typically conforms to __linux__)

elif Linux

// Linux

elif Unix

// Unix

elif definiert(_POSIX_VERSION)

// POSIX

else

// Error: Unknown compiler

endif

Durch die Verwendung dieser Makros können Sie zuverlässig erkennen das Betriebssystem während der Präprozessorverarbeitung und passen Sie Ihren Code entsprechend an, um die Kompatibilität auf verschiedenen Plattformen sicherzustellen.

Das obige ist der detaillierte Inhalt vonWie kann ich das Betriebssystem während der C-Präprozessor-Kompilierung zuverlässig erkennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn