Skip to main content

IAR Embedded Workbench for Arm 9.70.x

‑‑visibility

このセクションの内容:
構文

‑‑visibility={hidden|interposable|protected}

パラメータ

hidden(デフォルト)

シンボルは共有オブジェクトのインターフェースの一部ではないので、どの実行可能なファイルまたは共有オブジェクトも直接シンボルを参照できません。

interposable

hiddenまたはprotectedのvisibility属性で宣言されていないすべてのグローバルシンボルは、パブリックであり、外部リンケージに対応しています。外部またはローカルシンボルは影響を受けません。

protected

シンボルは共有オブジェクトのインターフェースの一部ですが、定義モジュール内の参照はローカルシンボルにバインドされます。つまり、別のモジュールはシンボルをオーバーライドできません。

説明

これはコンパイラのオプションです。

このオプションを使用して、グローバルシンボル定義のデフォルトのvisibilityを設定します。対応する定義または一時的な定義のないローカルシンボルおよびexternオブジェクトの宣言は影響を受けません。

注記

‑‑visibility=interposableが、デフォルトのELF visibilityタイプに対応します。interposableが使用されるのは、別のモジュールがシンボルをオーバーライドできること、およびこの設定の適切なデフォルト値ではないためです。

関連項目

共有オブジェクト(32 ビットモードのみ) および visibility

注意

このオプションを設定するには、[プロジェクト]>[オプション]>[C/C++ コンパイラ]>[追加オプション]を使用します