使用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