windows脚本列出C项目中未使用的#define常量定义

时间:2016-12-02 10:30:36

标签: c-preprocessor unused-variables

我是创建脚本的新手。我正在使用基于C语言的软件项目。其中一个问题是项目中有很多未使用的#define常量定义,我创建了一个Windows脚本来查找未使用的#defines,如下所示:

rem /*Extract all the lines with #defines to log.txt */
findstr "#define" *.h >log.txt

rem /*Extract all the 'tokens' from log.txt to log2.txt */
FOR /F "tokens=2 delims= " %%G IN (log.txt) DO @echo %%G >>log2.txt

rem /*Search through the *.c files in the folder to see if the */
rem /*tokens from log2.txt are used. If not, print them to log5.txt  */
for /F %%i in (log2.txt) do (
findstr /M /C:%%i *.c
If ERRORLEVEL 1 echo %%i >>log5.txt )

上述脚本的问题在于它不检查预处理器常量是否实际用于源代码行或注释行(/ * * /)。请有人帮忙吗?此外,我感谢任何简化脚本或指出任何缺点的建议。

0 个答案:

没有答案