2014-08-28 26 views

cevap

10

c11'de, static_assert, _Static_assert'a genişleyen bir assert.h makrosudur.

sadece kullanabilirsiniz: Bazı derleyiciler (örneğin IAR) ayrıca C11 desteği olmayan bile static_assert kelime uzantısına sahip

#include <assert.h> 

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

Not söyledi. yorumlarda belirtildiği gibi

ayrıca C11 kontrol edebilirsiniz:

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

somesuch olabilir? – yshui

+2

@yshui, "assert.h" gibi standart başlık dosyaları platform tarafından sağlanır, bu yüzden neyin desteklendiğini ya da desteklenmediğini bilmek için içsel sihirleri vardır. Bu tam olarak buradalar, bu yüzden bu tür özellikler hakkında endişelenmenize gerek yok. –

İlgili konular