İç 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 b
belirtilen 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ü