내 코드에서 리소스를 사용하는 드라이버가 여러 개 있습니다. 그 중 하나만 정의 할 수 있습니다. 예를 들어 다음 정의가있는 경우 : USB_HID, USB_SERIAL, USB_STORAGE. 그리고 단 하나만 정의되었는지 테스트하고 싶습니다.이 작업을 수행하는 간단한 방법이 있습니까? 현재 나는 이런 식으로 일을 오전 : 각 USB_XXX 드라이버에 대한 이러한 블록 중 하나 테스트 할 C 매크로 : "둘 이상의 정의 된 경우"
#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
을 .... 더 세련된 방법이 있습니까?
#if defined (USB_HID) && defined (USB_INUSE)
좋은 해결책. 나는 아마도 && ||의 불쾌한 매쉬로 끝났을 것입니다. 연산자. –
정말 좋습니다. +1. @ 마이크 Weller : 저도 요. –
전설적인 대답, 나는 이것을 보았 기 전에 통신 수에서 쏟아졌다. – sweetlilmre