C 11 지원 확인
C에서는 컴파일러가 C 11의 특정 기능을 지원하는지 확인하는 것이 호환성을 보장하는 데 중요합니다. 다음을 포함하여 컴파일 타임에 이 검사를 수행하는 몇 가지 방법이 있습니다.
__cplusplus 상수 사용
전처리기에 의해 정의된 __cplusplus 상수는 지원되는 C 표준 버전을 나타냅니다. . 예:
#if __cplusplus <= 199711L #error This library needs at least a C++11 compliant compiler #endif
Boost 정의 사용
Boost는 다음과 같은 특정 C 11 기능을 확인할 수 있는 정의(__has_feature(feature_name))를 제공합니다.
#if __has_feature(cxx_automatic_resource_management) // C++11 has automatic resource management #endif
예: Variadic 확인 템플릿
C 11 기능인 가변 템플릿을 사용하고 싶다고 가정해 보겠습니다. 다음 코드를 사용하여 지원 여부를 확인할 수 있습니다.
#ifndef VARIADIC_TEMPLATES_SUPPORTED #error "Your compiler doesn't support variadic templates. :(" #else template <typename... DatatypeList> class Tuple { // ... } #endif
위 내용은 C 11 컴파일러 지원을 어떻게 확인할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!