fcommon

 

共通シンボルをグローバル定義として扱うかどうかを指定します。

IDE オプション

Windows: なし

Linux: [Data (データ)] > [Allow gprel Addressing of Common Data Variables (共通データ変数の GP-relative アドレス指定を許可する)]

Mac OS X: [Data (データ)] > [Allow gprel Addressing of Common Data Variables (共通データ変数の GP-relative アドレス指定を許可する)]

アーキテクチャー

IA-32、インテル® 64、IA-64 アーキテクチャー

構文

Linux および Mac OS X:

-fcommon

-fno-common

Windows:

なし

引数

なし

デフォルト

-fcommon

コンパイラーは、共通シンボルをグローバル定義として扱いません。

説明

このオプションは、コンパイラーが共通シンボルをグローバル定義として扱うかどうかを指定します。

-fno-common オプションは、共通シンボルをグローバル定義として扱うようコンパイラーに指示します。このオプションを使用する際、1 つのモジュールで宣言された 1 つの共通変数のみ利用できます。複数のシンボル定義は、リンク時エラーを起こします。

IA-64 アーキテクチャーではこのオプションにより、共通データ変数の GP 相対 (gprel) アドレス指定が使用できるようになります。

通常、初期化子がなく、extern または static キーワード "int i;" のないファイルスコープ宣言では、共通シンボルとして表現されます。これらのシンボルは外部参照として扱われます。ただし、他のコンパイル単位にその名前用のグローバル定義がない場合、リンカーはこれらのシンボルにメモリーを割り当てます。

代替オプション

なし