" /> linux - Qu'est-ce que ":-!!" en code C | 2022 codeprofesseur

linux - Qu'est-ce que ":-!!" en code C

Mots clés : clinuxmacroslinux-kernelc

meilleur 2 Réponses linux - Qu'est-ce que ":-!!" en code C

vote vote

95

sizeof(struct { int: -!!(e); })) 
vote vote

85

#define MY_COMPILETIME_ASSERT(test)              \     do {                                         \         extern void you_did_something_bad(void); \         if (!(test))                             \             you_did_something_bad(void);         \     } while (0) 
#define MAKE_SURE_THIS_IS_FIVE(number)                          \     do {                                                        \         extern void this_isnt_five(void) __attribute__((error(  \                 "I asked for five and you gave me " #number))); \         if ((number) != 5)                                      \             this_isnt_five();                                   \     } while (0) 
#define ANY_NUMBER_BUT_FIVE(number)                           \     ({                                                        \         typeof(number) n = (number);                          \         extern void this_number_is_five(void) __attribute__(( \                 error("I told you not to give me a five!"))); \         if (n == 5)                                           \             this_number_is_five();                            \         n;                                                    \     }) 

Questions similaires