2014-08-28 4 views

답변

10

c11에서 은 _Static_assert으로 확장되는 assert.h 매크로입니다.

당신은 사용할 수 있습니다 : 어떤 컴파일러 (예를 들어, IAR)도 그들이 C11를 지원하지 않는 경우에도 static_assert 키워드 확장을

#include <assert.h> 

#if defined(static_assert) 
// static_assert macro is defined 
#endif 

하는 것으로. 코멘트에서 언급 한 바와 같이

당신은 또한 C11를 확인할 수 있습니다

#if (__STDC_VERSION >= 201112L) 
// it is c11, static_assert is defined when assert.h is included 
#endif 
+0

을 somesuch 수 있을까? – yshui

+2

@yshui,'assert.h '와 같은 표준 헤더 파일은 플랫폼에서 제공되므로 지원되는 내용을 알 수있는 내부 마법이 있습니다. 바로 여기에 유장이 있기 때문에 그러한 기능에 대해 걱정할 필요가 없습니다. –