12.167 --vfemode=mode

仮想関数の削除(VFE)とランタイム型情報(RTTI)オブジェクトを削除する方法を指定します。VFE は、リンカで多くの未使用セクションを識別できるようにする方法です。

構文

--vfemode= mode
ここで、 mode は以下のいずれかになります。
オン
コマンドラインオプション --vfemode=on を使用すると、リンカは VFE に対応します。
このモードでは、リンカは、オブジェクトファイルの内容によって、force モードまたは off モードを選択します。
  • すべてのオブジェクトファイルが VFE 情報を保持しているか、変換された C++ の名前を持つシンボルを参照しない場合、リンカはそれを force モードと見なして、削除を続行します。
  • オブジェクトファイルに VFE 情報がなく、変換された C++ の名前を持つシンボルを参照する場合(たとえば、前のリリースの ARM® ツールを使用してコードがコンパイルされている場合)、リンカはそれを off モードと見なすため、VFE は自動的に無効になります。この場合に off モードを選択して VFE を無効にすると、リンカは、VFE 情報を持たないオブジェクトが使用する仮想関数を削除しません。
off
コマンドラインオプション --vfemode=off を使用すると、 armlink はコンパイラが提供する追加情報を無視します。このモードでは、最終イメージは VFE に対応していないコンパイルおよびリンクによって生成されるイメージと同じになります。
force
コマンドラインオプション --vfemode=force を使用すると、リンカは VFE に対応し、VFE アルゴリズムを強制的に適用できます。一部のオブジェクトファイルが VFE 情報を含まない場合(たとえば、前のリリースの ARM ツールを使用してコンパイルされている場合)、リンカは削除を続行しますが、エラーが発生する可能性のあることを示す警告メッセージを生成します。
force_no_rtti
コマンドラインオプション --vfemode=force_no_rtti を使用すると、リンカは VFE に対応し、すべての RTTI オブジェクトが強制的に削除されます。このモードでは、すべての仮想関数は保持されます。

デフォルト

デフォルトは --vfemode=on です。
関連する概念
4.4 未使用仮想関数の削除
4.1 共通デバッグセクションの削除
4.2 共通グループまたは共通セクションの削除
4.3 未使用セクションの削除
非機密扱いPDF file icon PDF 版ARM DUI0474LJ
Copyright © 2010-2015 ARM.All rights reserved.