私は、最近大幅に成長した大規模な C++ ビルド ライブラリに取り組んでいます。サイズが大きいため、このサイズの増加の原因は明らかではありません。
成長がどこから来たのかを判断するのに役立つツール (msvc または gcc) の提案はありますか?
私が試したことを編集 してください:最終的なdll、objファイルをダンプし、マップファイルを作成してそれをリッピングします。
もう一度編集する ので、pythonスクリプトと一緒にobjdumpを実行すると、私が望むことができたようです。
Linux では、新しいファイルが追加されたかどうかを再帰的な差分で簡単に確認できます。それらは確かにライブラリのサイズを増やします。次に、 Linux でsizeコマンド ライン ツールを使用して、新しい各オブジェクト ファイルのサイズを取得し、それらを合計します。次に、その合計をライブラリの増加と比較し、どれだけ違うかを確認します。
こんばんは
以前のバージョンのオブジェクト ファイルが手元にある場合、size コマンドを実行して、どのセグメントが大きくなったかを確認できますか?
いくつかの質問:
編集:コードが SCM の下にある場合、より小さなオブジェクトを提供したソースのバージョンをチェックアウトできますか。次に比較します。
find ./tree_top ( -name *.h -o -name *.cpp ) | wc -l
find ./tree_top ( -name *.h -o -name *.cpp ) -print | sort > treelist
し、新しい大きなツリーに対して同じことを行います。単純な sdiff を実行すると、多数の新しいファイルが表示されます。HTH
ところで、多くの人があなたの発見に興味を持っていると確信しているので、あなたの調査結果をここに投稿してください。
乾杯、