私はアプリでかなり複雑なデータ構造(主にSTLコンテナーを使用)を使用し、Boost(v1.34)を使用してそれらをシリアル化します。
デバッグシンボル(gcc -g)を使用してコンパイルするたびに、結果の実行可能ファイルは巨大になります(約25 MB)。すべてのデバッグシンボルを削除すると、サイズが最大3MBに減少します。
サイズが大きくなった原因を突き止めてみましたが、シリアル化の方法が原因のようです。特に、シリアル化を呼び出すモジュールのオブジェクトファイル(「oarchive << myObject」などのコード)は大きく、シリアル化部分をコメントアウトするとサイズが大幅に小さくなります。
これらのシンボルの生成を防止すること、またはそれらを選択的に取り除くことは可能ですか?
自分のコードのデバッグシンボルが必要なため、すべてのシンボルを削除することはできません。