小编stb*_*rax的帖子

要测试的C宏:"如果定义了多个"

我有几个驱动程序在我的代码中使用资源,其中只能定义一个.例如,如果我有以下定义:USB_HID,USB_SERIAL,USB_STORAGE.我想测试只定义了一个,有一个简单的方法吗?目前我这样做:

#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
Run Code Online (Sandbox Code Playgroud)

...每个USB_XXX驱动程序都有一个这样的块.这样做有更优雅的方式吗?

macros c-preprocessor

3
推荐指数
1
解决办法
549
查看次数

标签 统计

c-preprocessor ×1

macros ×1