【发布时间】:2020-09-02 04:16:57
【问题描述】:
GCC 会对未使用的函数、标签等发出警告。但它似乎不会对未使用的定义发出警告?有没有办法自动检测未使用的结构定义?
【问题讨论】:
-
我认为您不想被警告关于各种库头文件中任何未使用的结构定义。为了仅在您的文件中执行此类检查,您可以编写一个简单的 python 脚本...
-
GCC 将对未使用的 static 函数发出警告。它不会对未使用的全局函数发出警告,因为这将 (1) 需要全局程序分析和 (2) 无法使用库。您几乎从不使用任何给定库中的 all 函数。类型是全局的,因此同样的推理也适用于它们。
-
寻找未使用的结构是一个雷区。首先,您必须定义使用的含义。如果该结构出现在 typedef 或 union 或另一个结构中,那么如果该 typedef、union 或 struct 从未使用过,那就是一种用途。无名结构呢?
-
真的吗? GCC 警告未使用的标签?我从未尝试过,但我认为只有在标签后面的语句没有通过其他方式到达时才会这样做,并且诊断将是“死代码”。
-
@AlexLop。我怀疑该脚本是否“简单”。它将迅速接近 C 解析器。您是否正在考虑使用特定的库或模块来轻松实现这样的脚本?