【发布时间】:2011-09-05 16:47:35
【问题描述】:
我一直无法从.c 文件中删除警告,这些文件由
.l(lex) 和 .y(bison)。我在lex 和bison 文件中没有任何编译器警告。但我在生成的C 文件中收到以下类型的警告。
parser.c:1772:34: warning: conversion to 'long unsigned int' from 'long int' may change the sign of the result
这是来自parser.c 的警告。这个 parser.c 是从 parser.y 生成的。您能否让我知道如何永久删除这些警告,因为在 parser.c 中进行编辑对下一次编译没有任何意义。
提前致谢。
【问题讨论】:
-
如果您解释了您希望在这些文件中更改的内容以及原因,您可能会得到更好的答案。只要有可能,生成代码的正确做法是改进生成,而不是手动欺骗结果。
-
由 lex 和 yacc 生成的代码往往有点麻烦(毕竟它在做一些非常复杂的事情)所以我不会打扰 - 或者是否有无例外 0 警告政策没有到位工具生成的来源例外?
标签: c compiler-warnings bison lex