私はフレックスとバイソンと一緒に今日遊んでいました。何か不気味なものが私の注目を集めました。gccはソースがどこから来たのかをどのように知っていますか?
localhost:c math4tots$ lex c.l
localhost:c math4tots$ yacc -d c.y
localhost:c math4tots$ rm c.l c.y
localhost:c math4tots$ gcc c.c lex.yy.c y.tab.c
c.y: In function ‘opr’:
c.y:120: error: ‘nodeType’ has no member named ‘oper’
私だけc.c lex.yy.cをを通過してきた、とy.tab.c(c.hとy.tab.hもヘッダーとして含まれている)、何とかgccがc.lとc.y.について知っています実際、c.lとc.yを削除した後でも、gccはc.yのどこにコードのエラーがあるのかを知っています。それはどうですか?
過去に使用したいくつかのツールでも同様のことが起こったような気がしますが、そのことを正確に覚えていません。
GCCコンパイラに '-Wall'を渡して、警告がなくなるまでコードを改善してください。 –