编译器选项:-w
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=CompilerOptw
- 最后更新: 2022-12-27
设置最低警告级别。
语法
-w level | all | none | param | escape | pedantic | next | funcptr | constness | suffix | error | upcast参数
level
只输出级别等于或大于此值的警告消息。
all
等同于指定级别 0。
none
抑制所有警告。
param
当过程参数未指定 ByVal 或 ByRef 时发出警告。
escape
当字符串字面量包含任意数量的转义字符(\)时发出警告。
pedantic
等同于指定 param 和 escape 参数,另加按值传递参数和任何仅转换为指针的 Cptr 的长度检查,以及在 -lang fb 中对无用后缀发出警告。
next
当 Next 后跟标识符时发出警告。
funcptr
对不匹配的过程指针发出警告,包括 CAST 和 CPTR 表达式中的转换。隐含 -w all。实验性功能,未来版本中行为可能改变。
constness
当 CONST(限定符) 在赋值中被丢弃时发出警告。隐含 -w funcptr 和 -w all。未来版本中行为可能改变。
suffix
在 -lang fb 中对无用后缀发出警告。
error
将警告报告为错误。警告会导致错误计数增加,警告消息显示为"error warning...",编译/汇编/链接中止,fbc 以错误代码退出。
upcast
当向上转型丢弃初始化器时发出警告。
描述
-w 编译器选项确定输出哪些编译器警告(如果有)。每个可能的警告与一个警告级别相关联,从零(0)开始,随着可能出现的问题的严重程度增加而增大。
param、escape、pedantic、next、funcptr、constness、suffix、error 和 upcast 参数提供通常不会输出的额外警告,即使在默认情况下也不会。
如果未指定 -w 选项,默认行为如同使用了 -w 1。-w 选项可以在命令行中多次指定。级别为 0 的警告消息默认不显示。
-w none,或一个足够大的 level 值将抑制所有警告消息。
如果警告名称本身无效,fbc 不会发出警告或错误。例如,-w flarg 不是已识别的警告名称。编译器会静默忽略此情况,以允许包含新版本 fbc 中添加的警告的命令行也可以在旧版本 fbc 中使用而不引发报错。
版本
- 自 fbc 1.10.0 起:
-w upcast选项 - 自 fbc 1.09.0 起:
-w error选项。 - 在 fbc 1.08.0 之前,默认警告级别为 0,某些警告的级别为 -1。
另请参阅
返回 目录