因此,我成功地使标头几乎可以编译(以零错误摆脱了该除法),但是在 4 行标头代码中存在 1 个麻烦的错误,顽固地拒绝解决。它在下面。我不断收到的编译器错误是:error: missing binary operator before token "("。它直接指向带有 "#if" 预处理器条件表达式的行。
#define SEC_JIFFIE_SC (31 - SHIFT_HZ)
#if !((((NSEC_PER_SEC << 2) / TICK_NSEC) << (SEC_JIFFIE_SC - 2)) & 0x80000000)
#undef SEC_JIFFIE_SC
#define SEC_JIFFIE_SC (32 - SHIFT_HZ)
#endif
那 ”!” 我认为应该是按位而不是使用“〜”而不是帮助。