インテル® C++ コンパイラー XE 13.1 ユーザー・リファレンス・ガイド
スレッド・ローカル・ストレージ (TLS) モデルを変更します。
すべて
Linux* および OS X*:
-ftls-model=model
Windows*:
なし
model
コンパイラーによって使用される TLS モデルを決定します。設定可能な値は以下のとおりです。
global-dynamic
汎用 TLS コードを生成します。このコードは任意の場所で使用可能で、ほかの場所で定義された変数にアクセスできます。この設定では、コードサイズと生成にかかる時間が最大になります。
local-dynamic
最適化された TLS コードを生成します。この設定を使用するには、スレッドローカル変数が、それらが参照される同一オブジェクト内で定義されている必要があります。
initial-exec
限定的な最適化 TLS コードを生成します。この設定を使用するには、アクセスされるスレッドローカル変数が、プログラムで利用可能なモジュールの 1 つで定義されていなければなりません。
local-exec
最も限定的な TLS コードを生成します。この設定を使用するには、スレッドローカル変数が実行ファイルで定義されていなければなりません。
オフ
コンパイラーはデフォルトのヒューリスティックを使用して、スレッド・ローカル・ストレージのモデルを決定します。
このオプションは、スレッド・ローカル・ストレージ (TLS) モデルを変更します。スレッド・ローカル・ストレージは、スレッドごとに 1 つの変数のインスタンスが発生するように、変数が割り当てられるメカニズムです。
詳細は、gcc* のドキュメントを参照してください。