使用gcc和-Wall選項編譯我的項目時,我收到一條警告,說明在flex文件的不存在的最後一行中沒有任何效果:GCC和Flex/Bison沒有任何效果警告的聲明
警告:
gcc -Wall -O0 -ggdb3 -DNOSUDO -DJOBC -DDEBUG -c lex.yy.c
tokenizer.l: In function ‘yylex’:
tokenizer.l:179: warning: statement with no effect
Shell命令:
$ wc -l tokenizer.l
178 tokenizer.l
最後的lex文件的一部分:
; {
return SEMI;
}
任何人都知道爲什麼我可能會得到這樣的警告?
如果我取消所有#line指令,錯誤的是:
lex.yy.c: In function ‘yylex’:
lex.yy.c:1021: warning: statement with no effect
這是指ECHO行:
case 30:
YY_RULE_SETUP
ECHO;
YY_BREAK
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(inQuote):
case YY_STATE_EOF(inWord):
yyterminate();
引用第一個分號並沒有什麼區別。 – 2009-10-30 15:21:44
它的_only_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _它更容易(也更令人欣慰)簡單地將gcc告訴STFU。 – 2009-10-31 13:52:21