我发现了一些带有#if
类型语句的程序。这#if 1
有什么意义?这是代码片段:
for (;;) {
register const uint8_t* m_pos;
unsigned m_off;
unsigned m_len;
unsigned dindex;
D_INDEX1(dindex,ip);
GINDEX(m_pos,m_off,dict,dindex,in);
if (LZO_CHECK_MPOS_NON_DET(m_pos,m_off,in,ip,M4_MAX_OFFSET))
goto literal;
#if 1
if (m_off <= M2_MAX_OFFSET || m_pos[3] == ip[3])
goto try_match;
D_INDEX2(dindex,ip);
#endif
GINDEX(m_pos,m_off,dict,dindex,in);
if (LZO_CHECK_MPOS_NON_DET(m_pos,m_off,in,ip,M4_MAX_OFFSET))
goto literal;
if (m_off <= M2_MAX_OFFSET || m_pos[3] == ip[3])
goto try_match;
goto literal;
try_match:
答案 0 :(得分:2)
这是一个玩这个代码的人的遗物。它绝对没有任何作用,但将1更改为0,#if
和#endif
之间的区域将从编译中排除。
答案 1 :(得分:1)
if
是“什么都不做”,但如果你想要快速禁用的内容包含在内,那么它会很有用。
它比大块注释更好,因为它允许内部块注释。