Gimpel Software 的 PC-lint 和 Flexelint 有一条规则"971: Use of 'char' without 'signed' or 'unsigned'",禁止使用char
没有指定签名的普通类型。
http://www.gimpel.com/html/pub/msg.txt
我认为这是误导。如果char
用作整数类型,那么显式指定签名可能是有意义的,但在用于文本字符时则不然。标准库函数,例如printf
将指针指向 plain char
,并使用signed
orunsigned char
是类型不匹配。当然可以在类型之间进行转换,但这可能会导致 lint 试图防止的那种错误。
这个针对普通char
类型的 lint 规则是错误的吗?