在C中查找未使用的枚举成员

Cod*_*der 3 c enums

找到未使用的枚举成员的最快方法是什么?

逐个评估值将无法工作,因为我有近700名成员,并希望削减一些未使用的值.

Grz*_*ski 5

我不知道任何编译器警告,但您可以尝试使用splint静态分析器工具.根据其文件(强调我的):

Splint检测声明但从未使用过的常量,函数,参数,变量,类型, 枚举器成员以及结构或联合字段.

正如我检查的那样,它的作用是有意的.这是示例代码:

#include <stdio.h>

enum Month { JAN, FEB, MAR };

int main()
{
    enum Month m1 = JAN;
    printf("%d\n", m1);
}
Run Code Online (Sandbox Code Playgroud)

通过运行该splint命令,您将获得以下消息:

main.c:3:19: Enum member FEB not used
   A member of an enum type is never used. (Use -enummemuse to inhibit warning)
main.c:3:24: Enum member MAR not used
Run Code Online (Sandbox Code Playgroud)