A-M baby
This commit is contained in:
parent
764da6cbbb
commit
db842d013d
19005 changed files with 197040 additions and 7 deletions
12
Task/Metaprogramming/C/metaprogramming-1.c
Normal file
12
Task/Metaprogramming/C/metaprogramming-1.c
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
// http://stackoverflow.com/questions/3385515/static-assert-in-c
|
||||
#define STATIC_ASSERT(COND,MSG) typedef char static_assertion_##MSG[(!!(COND))*2-1]
|
||||
// token pasting madness:
|
||||
#define COMPILE_TIME_ASSERT3(X,L) STATIC_ASSERT(X,static_assertion_at_line_##L)
|
||||
#define COMPILE_TIME_ASSERT2(X,L) COMPILE_TIME_ASSERT3(X,L)
|
||||
#define COMPILE_TIME_ASSERT(X) COMPILE_TIME_ASSERT2(X,__LINE__)
|
||||
|
||||
COMPILE_TIME_ASSERT(sizeof(long)==8);
|
||||
int main()
|
||||
{
|
||||
COMPILE_TIME_ASSERT(sizeof(int)==4);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue