9

会社のポリシーでは、C ソース コード内のすべての関数にプロトタイプが必要です。独自の make システムを使用してプロジェクトを継承したため ( gcc または Visual Studio でテストできません)、ファイルの 1 つにプロトタイプなしで宣言された静的関数が含まれていることがわかりました。すべての .c ファイルにプロトタイプなしですべての関数をリストする方法 (必ずしもコンパイラを使用する必要はありません) はありますか?

4

2 に答える 2

5

ctagsそれができる!

--c-kinds=pすべての関数プロトタイプのリストを生成します

--c-kinds=fすべての関数定義のリストを生成します

あとはそれらを比較するだけです。

diff -u <(ctags -R -x --sort=yes --c-kinds=f | cut -d' ' -f1) <(ctags -R -x --sort=yes --c-kinds=p | cut -d' ' -f1) | sed -n 's/^-//p'

于 2013-04-29T19:53:09.173 に答える