전처리기 처리 중에 운영 체제를 감지하는 것은 크로스 플랫폼 C/C 코드 작성에 필수적입니다. Mac OS X, iOS, Linux 및 Windows에서 이를 안정적으로 달성하는 방법은 다음과 같습니다.
대부분의 컴파일러는 운영 체제를 식별하는 매크로를 정의합니다. 전처리기 감지의 경우 이러한 사전 정의된 매크로가 중요합니다. 예를 들어 GCC에는 다음을 포함하는 포괄적인 목록이 있습니다.
</p> <h1>if 정의된 경우(WIN32) || 정의됨(_WIN32) || 정의됨(__WIN32__) || 정의됨(__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
이러한 매크로를 사용하면 안정적으로 감지할 수 있습니다. 전처리기 처리 중에 운영 체제를 변경하고 그에 따라 코드를 맞춤화하여 다양한 호환성을 보장합니다. 플랫폼입니다.
위 내용은 C 전처리기 컴파일 중에 운영 체제를 안정적으로 감지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!