> 백엔드 개발 > C++ > C 전처리기 컴파일 중에 운영 체제를 안정적으로 감지하려면 어떻게 해야 합니까?

C 전처리기 컴파일 중에 운영 체제를 안정적으로 감지하려면 어떻게 해야 합니까?

Mary-Kate Olsen
풀어 주다: 2024-12-15 07:10:14
원래의
260명이 탐색했습니다.

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

C에서 운영 체제 전처리기 감지

전처리기 처리 중에 운영 체제를 감지하는 것은 크로스 플랫폼 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
로그인 후 복사

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 Defined(_POSIX_VERSION)

// POSIX
로그인 후 복사

else

// Error: Unknown compiler
로그인 후 복사

endif

이러한 매크로를 사용하면 안정적으로 감지할 수 있습니다. 전처리기 처리 중에 운영 체제를 변경하고 그에 따라 코드를 맞춤화하여 다양한 호환성을 보장합니다. 플랫폼입니다.

위 내용은 C 전처리기 컴파일 중에 운영 체제를 안정적으로 감지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿