インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

fcommon

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

構文

Linux* および macOS*:

-fcommon

-fno-common

Windows*:

なし

引数

なし

デフォルト

-fcommon

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

説明

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

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

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

IDE オプション

Visual Studio*: なし

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

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

代替オプション

なし