_InterlockedExchangeAdd の組み込み関数
[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 Blank topics are included as placeholders.]
Microsoft 固有の仕様 →
Win32 Windows SDK _InterlockedExchangeAdd の組み込み関数 の関数にはコンパイラの組み込みサポートを提供します。
long _InterlockedExchangeAdd(
long volatile * Addend,
long Value
);
long _InterlockedExchangeAdd_acq(
long volatile * Addend,
long Value
);
long _InterlockedExchangeAdd_rel(
long volatile * Addend,
long Value
);
__int64 _InterlockedExchangeAdd64(
__int64 volatile * Addend,
__int64 Value
);
__int64 _InterlockedExchangeAdd64_acq(
__int64 volatile * Addend,
__int64 Value
);
__int64 _InterlockedExchangeAdd64_rel(
__int64 volatile * Addend,
__int64 Value
);
パラメーター
[入力、出力] Addend
に追加する値 ; 加算結果に置き換えられます。[入力] Value
追加する値。
戻り値
戻り値は Addend のパラメーターが指す変数の初期値です。
必要条件
組み込み |
アーキテクチャ |
---|---|
_InterlockedExchangeAdd |
x86IPFx64 |
_InterlockedExchangeAdd_acq |
IPF |
_InterlockedExchangeAdd_rel |
IPF |
_InterlockedExchangeAdd64 |
はx64 |
_InterlockedExchangeAdd64_acq |
IPF |
_InterlockedExchangeAdd64_rel |
IPF |
ヘッダー ファイル <intrin.h>
解説
リリースではセマンティクス使用することが含まれるかおよびプロセッサ固有または取得したりデータ型に基づいて異なる _InterlockedExchangeAdd にいくつかのバリエーションがあります。
_InterlockedExchangeAdd の関数が 32 ビット整数値を操作しますが**_InterlockedExchangeAdd64** は64 ビットの整数値を操作します。
_InterlockedExchangeAdd_acq と _InterlockedExchangeAdd64_acq の組み込み関数は _acq のサフィックスが操作の対応する関数が取得したりのセマンティクスを場合と同じです。クリティカル セクションに入るとき。
を使用してセマンティクスを解放するとこの関数の各バージョンはありません。
これらの関数は読み書き可能メモリ バリアとして機能します。 詳細については_ReadWriteBarrier を参照してください。
これらのルーチンは組み込みとしてのみ使用できます。 したがって/Oi または #pragma intrinsic を使用するかどうかを基本的です。 これらの組み込み #pragma 関数 を使用することはできません。
使用例
_InterlockedExchangeAdd を使用する方法の例については _InterlockedDecrement を参照してください。