5.23 インライン関数と、リンク時における未使用のアウトオブライン関数の削除

未使用のアウトオブライン関数が独自のセクションに配置されない限り、リンカはこれらの関数をオブジェクトから削除できません。

以下のいずれかの方法を使用して、関数自体のセクション内に未使用のアウトオブライン関数を配置します。
  • --split_sections
  • __attribute__((section("name")))
  • #pragma arm section [section_type_list]
  • リンカのフィードバック
一般に、未使用の関数の削除を有効にするには、--feedback を使う方法が簡単です。
関連する概念
5.20 インライン関数
5.21 関数のインライン展開に関するコンパイラによる決定
5.22 関数の自動インライン展開とスタティック関数
5.24 関数の自動インライン展開とマルチファイルのコンパイル
5.26 コンパイラモードとインライン関数
5.27 C++ および C90 モードでのインライン関数
5.28 C99 モードでのインライン関数
5.29 インライン関数とデバッグ
関連する参考文書
5.25 関数のインライン展開に関するコンパイラの決定をオーバーライドすることの制限
8.81 --feedback=filename
8.175 --split_sections
10.69 __attribute__((section("name"))) 変数属性
10.79 #pragma arm section [section_type_list]
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.