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

ftls-model

スレッド・ローカル・ストレージ (TLS) モデルを変更します。

構文

Linux* および macOS*:

-ftls-model=model

Windows*:

なし

引数

model

コンパイラーによって使用される TLS モデルを決定します。設定可能な値は以下のとおりです。

global-dynamic

汎用 TLS コードを生成します。このコードは任意の場所で使用可能で、ほかの場所で定義された変数にアクセスできます。この設定では、コードサイズと生成にかかる時間が最大になります。

local-dynamic

最適化された TLS コードを生成します。この設定を使用するには、スレッドローカル変数が、それらが参照される同一オブジェクト内で定義されている必要があります。

initial-exec

限定的な最適化 TLS コードを生成します。この設定を使用するには、アクセスされるスレッドローカル変数が、プログラムで利用可能なモジュールの 1 つで定義されていなければなりません。

local-exec

最も限定的な TLS コードを生成します。この設定を使用するには、スレッドローカル変数が実行ファイルで定義されていなければなりません。

デフォルト

オフ

コンパイラーはデフォルトのヒューリスティックを使用して、スレッド・ローカル・ストレージのモデルを決定します。

説明

このオプションは、スレッド・ローカル・ストレージ (TLS) モデルを変更します。スレッド・ローカル・ストレージは、スレッドごとに 1 つの変数のインスタンスが発生するように、変数が割り当てられるメカニズムです。

詳細は、gcc のドキュメントを参照してください。

詳細は、Clang のドキュメントを参照してください。

IDE オプション

なし

代替オプション

なし