12.168 --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 DUI0474JJ
Copyright © 2010-2013 ARM.All rights reserved.