非常に大きなオブジェクト ファイルが生成されて困っています。VxWorks 5.5.1 を使用していますが、GCC 4.1.2 も利用できます。
私たちのモジュールのサイズは約 6.2MB で、それを減らす方法を探しています。この問題は、主にテンプレートの過度の使用が原因のようです。を使用してファイル内のシンボルをダンプするとnm
、1.8MB のテキスト ファイルが得られます。これは、ファイルのほぼ 1/3 が名前だけであることを示しています。ファイルサイズを小さくする方法はありますか?
次のアプローチは機能しませんでした。
--strip-all
効果がないようです-出力は使用と同じです--strip-debug
- そのプラットフォームではサポートされていないため、使用できません
--gc-sections
(オプションは単に無視されます)。
VxWorks がロード時にコードをリンクすることは理解していますが、リンクする必要があるのは C++ ランタイム ライブラリのみであり、シンボルをグローバル シンボル テーブルに追加したくないため、その情報を削除する方法が必要です。 、 右?
参考までに、私のリンカーのバージョンは次のとおりです。
i386-wrs-vxworks-ld.exe --version
>>> GNU ld (Wind River VxWorks G++ DWARF-EH 4.1-131) 2.17.50.20070509
>>> SPR fixes: cq103489 cq111170 cq116027 cq116652 cq118878 cq125145
と私のコンパイラのバージョン:
i386-wrs-vxworks-g++.exe --version
>>> i386-wrs-vxworks-g++.exe (GCC) 4.1.2