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> <div class="code" style="position:relative; padding:0px; margin:0px;"><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
#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
// Handled elsewhere (Android typically conforms to __linux__)
// Linux
// Unix
// POSIX
// Error: Unknown compiler
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!