구현된 C 표준 버전 결정
컴파일러의 C 표준 구현을 결정하는 것은 호환성을 보장하고 최신 언어 기능을 활용하는 데 중요할 수 있습니다. . C 98 및 C 03을 포함하여 여러 C 표준이 출시되었습니다.
표준 버전을 식별하는 한 가지 방법은 __cplusplus 매크로를 확인하는 것입니다.
__cplusplus 매크로
Bjarne Stroustrup의 C 0x FAQ에 따르면 __cplusplus 매크로는 다음과 같습니다. C 11 이상에서는 199711L보다 큰 값으로 설정하십시오. 그러나 일부 컴파일러에서는 이 매크로를 올바르게 설정하지 않을 수 있습니다.
GCC
gcc에는 언어 버전에 관계없이 __cplusplus를 1로 설정한 이력이 있습니다. 이 문제는 gcc 4.7.0에서 해결되었습니다.
MSVC
MSVC도 __cplusplus를 199711L로 잘못 정의합니다. 올바른 값을 얻으려면 /Zc:__cplusplus를 컴파일러 플래그에 추가하거나 MSVC 관련 매크로 _MSVC_LANG을 확인하세요.
예상되는 __cplusplus 값
다른 방법
__cplusplus가 충분하지 않거나 사용할 수 없는 경우 , 다른 접근법 include:
모든 컴파일러가 C 표준의 모든 기능을 완전히 구현하는 것은 아니라는 점에 유의하는 것이 중요합니다. 안정적인 코드 실행을 보장하려면 컴파일러 호환성 및 기능 지원에 대한 세심한 검토가 필요합니다.
위 내용은 내 컴파일러에 구현된 C 표준 버전을 어떻게 확인할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!