ZHCUAV8W january 1998 – march 2023 66AK2E05 , 66AK2H06 , 66AK2H12 , 66AK2H14 , AM1705 , AM1707 , AM1802 , AM1806 , AM1808 , AM1810 , AM5K2E04 , OMAP-L132 , OMAP-L137 , OMAP-L138 , SM470R1B1M-HT , TMS470R1A288 , TMS470R1A384 , TMS470R1A64 , TMS470R1B1M , TMS470R1B512 , TMS470R1B768
以下示例演示了如何控制編譯器發(fā)出的診斷消息??梢允褂妙愃频姆绞娇刂奇溄悠髟\斷消息。
int one();
int I;
int main()
{
switch (I){
case 1;
return one ();
break;
default:
return 0;
break;
}
}如果使用 --quiet 選項(xiàng)調(diào)用編譯器,結(jié)果如下:
"err.c", line 9: warning: statement is unreachable
"err.c", line 12: warning: statement is unreachable因?yàn)闃?biāo)準(zhǔn)的編程做法是在每個(gè) case 支臂的末尾包含 break 語(yǔ)句以避免導(dǎo)向條件,所以可以忽略這些警告。使用 --display_error_number 選項(xiàng),可以找出這些警告的診斷標(biāo)識(shí)符。結(jié)果如下:
[err.c]
"err.c", line 9: warning #111-D: statement is unreachable
"err.c", line 12: warning #111-D: statement is unreachable
接下來(lái),可以使用診斷標(biāo)識(shí)符 111 作為 --diag_remark 選項(xiàng)的參數(shù),將此警告視為備注。此編譯不產(chǎn)生診斷消息(因?yàn)槟J(rèn)情況下禁用備注)。
可以抑制任何非致命錯(cuò)誤,但務(wù)必確保僅抑制您理解的且已知不會(huì)影響程序正確性的診斷消息。