来自aml_i2c设备驱动程序(linux)的这段代码中do while循环的用途是什么

时间:2018-12-05 10:09:53

标签: linux kernel

aml_i2c设备驱动程序中有此代码。它定义了一个宏。但是有一个do while循环似乎不应该存在。它不会产生任何循环,并且代码将执行一次。这样做的目的是什么?

#define AML_I2C_ASSERT(X)                           \
do {                                                \
    if (unlikely(!(X))) {                           \
        printf("\n");                               \
        printf("CacheFiles: Assertion failed\n");   \
        BUG();                                      \
    }                                               \
} while (0)

0 个答案:

没有答案