1 #include <inttypes.h>
2 #include <stdio.h>
3
4 #define PRINT_BITS(name,bits) \
5 { \
6 unsigned long long num=(bits); \
7 unsigned long long mask=~((~(0ULL))>>1); \
8 printf(#name "=" "(val=" #bits ") "); \
9 for(;mask; mask >>= 1) \
10 { \
11 putchar( (mask & num) ? '1': '0'); \
12 } \
13 putchar('\n'); \
14 }
15
16 #define MAKE_VAR(name,init_val)\
17 int macros_var_def_##name##_it=(init_val)
18
19
20 #define MY_PRINTF(fmt_str, ...)\
21 printf("my_printf: " fmt_str, __VA_ARGS__)
22