교차 플랫폼 개발을 위해 C 전처리기에서 운영 체제 감지
전처리기 단계에서 기본 운영 체제를 결정하는 것은 교차 플랫폼 개발에 매우 중요합니다. 플랫폼 C/C 코드. 다행스럽게도 대부분의 컴파일러는 안정적인 감지를 허용하는 특정 매크로를 정의합니다.
GCC 및 Clang 매크로
GCC 및 Clang 컴파일러는 사용할 수 있는 사전 정의된 매크로의 포괄적인 목록을 제공합니다. OS 식별용:
GCC의 예
다음은 이러한 매크로가 어떻게 사용될 수 있는지에 대한 예입니다. GCC에서 활용 컴파일:
#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__) // Define something for Windows (32-bit and 64-bit) #ifdef _WIN64 // Define something for Windows (64-bit only) #else // Define something 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 (ports iOS API into Mac, like UIKit). #elif TARGET_OS_IPHONE // iOS, tvOS, or watchOS device #elif TARGET_OS_MAC // Other kinds of Apple platforms #else #error "Unknown Apple platform" #endif #else #error "Unknown compiler" #endif
중요 고려 사항
위 내용은 크로스 플랫폼 개발을 위해 C 전처리기에서 운영 체제를 어떻게 감지할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!