Re: InterlockedExchange
От: rus blood Россия  
Дата: 19.09.11 09:41
Оценка: 6 (1) +1
Здравствуйте, yury_alpatov, Вы писали:

_>Как применить данную функцию для типа отличного от LONG. В частности есть массив BYTE* ImageInfo, нужно заменить конкретный элемент атомарно.

__forceinline BYTE _InterlockedExchange8(volatile BYTE* ps, BYTE s)
{
    __asm
    {
        mov    edx,    DWORD PTR ps
        xor    eax,    eax
        mov    al,    s
        xchg    BYTE PTR [edx], al
    }
}


PS
Использование на свое усмотрение.
Имею скафандр — готов путешествовать!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.