共通シンボルをグローバル定義として扱うかどうかを指定します。
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;" のないファイルスコープ宣言では、共通シンボルとして表現されます。これらのシンボルは外部参照として扱われます。ただし、他のコンパイル単位にその名前用のグローバル定義がない場合、リンカーはこれらのシンボルにメモリーを割り当てます。
なし