私には大きな問題があります。私は共通のライブラリを持っています。それは私のプロジェクト全体で使用されています。このライブラリは集中的にboost.spirit
とboost.fusion
を使用しています。残念ながら、ライブラリは約です。 700Mbのサイズ。すべてのboost.spirit
- 重いコードが使用され、うまく動作します。出力サイズを減らすためにはどのようなステップを実行できますか?テンプレートインスタンシエーションが大部分のスペースを無駄にしているかどうかを判断するのに役立つツールはありますか?テンプレート重いC++コードの出力サイズを減らすには?
まず、すべてのスピリチュアル対応コードをcppファイルに移動することにしました。次に、サイズを最適化するためにさまざまなコンパイラフラグを試します。私は何をすべきか分からない。
アップデート(詳細)
私はGNUツールチェーンを使用しています。巨大なライブラリは実際には静的ライブラリです。この700Mbライブラリを使用する実行可能ファイルは、200Mbのサイズです。コードの少なくとも半分は* .hファイルにあります。いくつかboost.spirit
文法(非常にテンプレート重いもの)も* .hファイルにあります。
乾杯!
'visibility'属性のおかげで、それについて知りません。 – Lazin