インテル® C++ コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス
プログラムには、実行時に使用されない不要なコードやデータが含まれていることがよくあります。不要コードを特定するためコンパイル時にプログラム全体のプロシージャー間の最適化解析を行わなくても、リンク時に不要な関数とデータを排除できるコンパイラー・オプションがあります。
これは、関数レベルのリンクと呼ばれます。
指定するオプション:
Linux* および macOS*: | -fdata-sections-ffunction-sections-Wl, --gc-sections |
Windows*: | /Gy /Qoption,link,/OPT:REF |
上記のオプションの一部はリンカーに渡されます。
メリット: |
実行ファイルには参照されるコードのみが残ります。不要な関数やデータは実行ファイルから削除されます。 |
デメリット |
|