如何检测未使用的宏定义和typedef?

xda*_*dan 9 c c++

使用链接器反馈很容易获得列表中未使用的函数和变量,但是如何检测那些未使用的宏定义和typedef?我是否必须逐行浏览代码并在整个项目中使用git grep?

yac*_*oor 9

对于源文件中定义的宏,您可以尝试使用-Wunused-macrosgcc/clang标志.还有-Wunused-local-typedefsgcc.


Ric*_*ers 7

用于C和C++程序的静态分析工具可能包括检查未使用的预处理器宏.

例如,参见PC-Lint.

另一种可能性是进入特定的包含文件并用于#ifdef 0删除大部分宏,然后使用一种分而治之的算法来检查编译器错误.

但是,随着源代码大小变大,我希望静态分析工具会更好.

  • 除了那些从未接触过Windoze的数百万开发者. (3认同)