私はスクリプトを作成する初心者です。私は C 言語ベースのソフトウェア プロジェクトに取り組んでいます。#define
問題の 1 つは、プロジェクトに未使用の定数定義が多数あることです#defines
。以下に示すように、未使用を見つけるための Windows スクリプトを作成しました。
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 )
上記のスクリプトの問題は、プリプロセッサ定数が実際にソース コード行またはコメント行 (/* */) で使用されているかどうかをチェックしないことです。誰か助けてください。また、スクリプトを簡素化するための提案や欠点を指摘していただけると幸いです。