我有幾個驅動程序使用我的代碼中的資源,其中只能定義一個。 例如,如果我有以下定義:USB_HID,USB_SERIAL,USB_STORAGE。 我想測試只有一個被定義,是否有一個簡單的方法來做到這一點? 目前我做這種方式:要測試的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
... 這些塊每個USB_XXX司機之一。 有沒有更優雅的方式來做到這一點?
不錯的解決方案。我可能會以一個令人討厭的混搭&& ||來結束運營商。 – 2010-11-29 13:42:36