私が実際に行っていることを期待するよりもはるかに大きなコードを生成する C++ ライブラリがあります。ソースの 50K 行未満から、ほぼ 4 MB の共有オブジェクトと 9 をプッシュする静的アーカイブを取得します。コード サイズで KB。-Os のようなフラグを付けてライブラリをコンパイルすると、これはいくらか助けられますが、実際にはあまり役に立ちません。
また、GCC の -frepo コマンド (私が見たすべてのドキュメントでは、Linux では collect2 が重複したテンプレートをとにかくマージすることを示唆していますが) と、多くの重複が「ありそうな」と思われるテンプレートでの明示的なテンプレートのインスタンス化についても実験しましたが、どちらの場合でも実際の効果。もちろん、私が「可能性が高い」と言ったのは、あらゆる種類のプロファイリングと同様に、このような盲目的な推測はほとんどの場合間違っているからです。
コードサイズのプロファイリングを簡単にするツール、または何がそんなに多くのスペースを占めているかを把握できる他の方法、またはより一般的には、他に試してみるべきことはありますか? Linux で動作するものが理想的ですが、入手できるものを使用します。