コンパイル単位をメインプログラムのコンポーネントとして処理し、共有可能なオブジェクトの一部としてリンクしないように指定します。
なし
IA-32、インテル(R) EM64T、インテル(R) Itanium(R) アーキテクチャー
Linux* および Mac OS*: | -fminshared |
Windows*: | なし |
なし
オフ | ソースファイルは、単一のオブジェクト・ファイルになるようにまとめてコンパイルされます。 |
このオプションは、コンパイル単位をメインプログラムのコンポーネントとして処理し、共有可能なオブジェクトの一部としてリンクしないように指定します。
メインプログラムで定義されたシンボルはプリエンプトできないため、コンパイラーは default 可視属性で宣言されたシンボルを protected 可視属性であるかのように扱います。つまり、-fminshared は -fvisibility=protected を意味します。
また、コンパイラーはメインプログラム用に位置に依存しないコードを生成する必要はありません。グローバル・オフセット・テーブル (GOT) のサイズを減らしてメモリーのトラフィックを減らす、絶対アドレス指定を使用することができます。
なし