這是從MISRA C MISRA有關規則16-0-2 ++ 2008年的指導方針 Macros shall only be #define'd or #undef'd in the global namespace.
我明白這個規則,但我polyspace MISRA檢查工具抱怨說,以下包括在年初宣佈後衛文件爲不合規。我猜如果這個文件本身被包含在另一個命名空間中,會發生這種情況,但是我的頭文件
我已經寫了下面的代碼段,其MISRA不喜歡: UartPtr->C &= ((uint8_t)(~SIO_C2_SBK));
與 #define SIO_C2_SBK ((uint8_t)0x01u)
和UartPtr被定義爲 UartPtr = (UartStruct*) 0x12345678; /* I know that this is also a violation of MIS