İç işlevleri _interlockedbittestandreset

Microsoft'a Özgü

Adresin a bitini b sıfır olarak ayarlamak ve özgün değerini döndürmek için bir yönerge oluşturur.

Sözdizimi

unsigned char _interlockedbittestandreset(
   long *a,
   long b
);
unsigned char _interlockedbittestandreset_acq(
   long *a,
   long b
);
unsigned char _interlockedbittestandreset_HLEAcquire(
   long *a,
   long b
);
unsigned char _interlockedbittestandreset_HLERelease(
   long *a,
   long b
);
unsigned char _interlockedbittestandreset_nf(
   long *a,
   long b
);
unsigned char _interlockedbittestandreset_rel(
   long *a,
   long b
);
unsigned char _interlockedbittestandreset64(
   __int64 *a,
   __int64 b
);
unsigned char _interlockedbittestandreset64_acq(
   __int64 *a,
   __int64 b
);
unsigned char _interlockedbittestandreset64_nf(
   __int64 *a,
   __int64 b
);
unsigned char _interlockedbittestandreset64_rel(
   __int64 *a,
   __int64 b
);
unsigned char _interlockedbittestandreset64_HLEAcquire(
   __int64 *a,
   __int64 b
);
unsigned char _interlockedbittestandreset64_HLERelease(
   __int64 *a,
   __int64 b
);

Parametreler

a
[in] İncelenmesi gereken belleğe bir işaretçi.

b
[in] Test için bit konumu.

Dönüş değeri

tarafından bbelirtilen konumdaki bitin özgün değeri.

Gereksinimler

Içsel Mimari Üst bilgi
_interlockedbittestandreset x86, ARM, x64, ARM64 <intrin.h>
_interlockedbittestandreset_acq, _interlockedbittestandreset_nf, _interlockedbittestandreset_rel ARM, ARM64 <intrin.h>
_interlockedbittestandreset64_acq, _interlockedbittestandreset64_nf, _interlockedbittestandreset64_rel ARM64 <intrin.h>
_interlockedbittestandreset_HLEAcquire, _interlockedbittestandreset_HLERelease x86, x64 <immintrin.h>
_interlockedbittestandreset64 x64, ARM64 <intrin.h>
_interlockedbittestandreset64_HLEAcquire, _interlockedbittestandreset64_HLERelease x64 <immintrin.h>

Açıklamalar

x86 ve x64 işlemcilerde bu iç kodlar, atomik bir işlemde belirtilen biti okuyan ve sıfır olarak ayarlayan yönergeyi kullanır lock btr .

ARM işlemcilerinde, kritik bir bölümün başında ve _rel sonunda olduğu gibi alma ve yayın semantiği için iç _acq bilgileri ve soneklerini kullanın. Bir ("çit yok") soneki olan _nf ARM iç bilgileri bellek engeli görevi görmez.

Donanım Kilidi Elision (HLE) yönergelerini destekleyen Intel işlemcilerde ve _HLERelease sonekleri ile _HLEAcquire iç bilgiler, donanımda kilit yazma adımını ortadan kaldırarak performansı hızlandırabilecek işlemciye yönelik bir ipucu içerir. Bu iç öğeler HLE'yi desteklemeyen işlemcilerde çağrılırsa, ipucu yoksayılır.

Bu yordamlar yalnızca iç yordamlar olarak kullanılabilir.

END Microsoft'a Özgü

Ayrıca bkz.

Derleyici iç bilgileri
x86 Derleyicisi ile Çakışma