6

大きな静的ライブラリ (.lib) ファイルに問題があり、テンプレート クラスの無差別な使用によるコードの肥大化を疑っています。ライブラリ内のシンボルを分析して、ファイル サイズの大部分を占めているシンボルを確認したいと考えています。

このライブラリに対して実行可能ファイルをリンクすると、結果の出力はサイズ的に (約 20Mb) はるかに適切になるため、リンカは明らかに多くの冗長なシンボルを取り除きます。何が削除されているのか知りたい..

シンボルとヘッダーを生成するために dumpbin を使用できることはわかっていますが、問題のライブラリがかなり大きい (900Mb) ため、このダンプは、解析してレポートするためのユーティリティがなければほとんど使用できません。

明らかに私はこれを自分で書くことができましたが、誰かがこれのためにすでに利用可能なフリーウェアを推奨できるかどうか疑問に思っていましたか?

4

2 に答える 2

2

これはあなた自身の図書館ですか?その場合、ライブラリ内のコードのレイアウトを説明するリンク マップを生成できます。これにより、ここで必要な情報がよりわかりやすい形式で提供されます。

これを行うためのソース コードにアクセスできない場合は、Perl またはその他のオープン ソースのスクリプト ツールを使用してdumpbin出力をクラックできます。

編集: LibDump を試してみることもできます。ここからダウンロードできます。私はこれを自分で使用していません。

于 2011-06-15T15:02:24.330 に答える
2

本当にうまく機能するもの(SymbolSort )を見つけました。必要なものを正確に提供してくれます。

于 2011-06-16T09:35:05.853 に答える