私は、Cプロジェクトで静的解析を実行して、決して呼び出されない関数やコード行を見つけようとしています。私はこのプロジェクトをVisual Studio .NET for WindowsやLinux用gccを使ってビルドすることができます。私は私のためにこれを行うことができるいくつかの合理的なツールを見つけることを試みているが、これまで私は成功していない。私はStack Overflowに関する質問を読んでいます。すなわち、thisとthisです。-Wunreachable-code
をgccで使用しようとしましたが、gccの出力はあまり役に立ちません。それは次の形式静的解析によってCプロジェクトで使用されていない関数を見つける
/home/adnan/my_socket.c: In function ‘my_sockNtoH32’:
/home/adnan/my_socket.c:666: warning: will never be executed
のですが、私はmy_socket.c
にライン666を見たとき、それは)関数my_sockNtoH32(から呼び出されていること、他の関数の内部で実際だと、この特定のインスタンスに対して実行されませんが、実行されます他のいくつかの関数から呼び出されたとき。
私が必要とするのは、決して実行されないコードを見つけることです。誰かがこれで助けてもらえますか?
PS:管理者にこのタスク用のツールを購入させることはできませんので、フリー/オープンソースのツールに固執してください。
これは、.netとどのような関係がありますか? –
@phresnel:私が言ったように、VS .Netまたはgccのどちらかを使ってプロジェクトをビルドすることができます.VS .Netの静的解析ツールは私のためにも使えます – binW
gccが "決して実行されません"と言うと、 、決して。 「実行されることはほとんどありません」とか、そうではありません。あなたはgccによってmisanalysedと思うコードの例を投稿してください。 –