J'ai plusieurs pilotes utilisant une ressource dans mon code, dont un seul peut être défini. par exemple si j'ai les définitions suivantes: USB_HID, USB_SERIAL, USB_STORAGE. et je veux tester qu'un seul est défini, existe-t-il un moyen simple de le faire? Actuellement, je fais de cette façon:Macro C pour tester: "Si plus d'un défini"
#ifdef USB_HID
#ifdef USB_INUSE
#error "Can only have one USB device"
#else
#define USB_INUSE
#endif
#endif
#ifdef USB_SERIAL
#ifdef USB_INUSE
#error "Can only have one USB device"
#else
#define USB_INUSE
#endif
#endif
... avec l'un de ces blocs pour chaque pilote USB_XXX. Y at-il une façon plus élégante de le faire?
Belle solution. Je me serais probablement retrouvé avec une vilaine purée de && || les opérateurs. –
Vraiment bien, +1. @Mike Weller: moi aussi :) –
Légende réponse, j'étais inondée d'opérateurs avant de voir ça. – sweetlilmre