InterlockedAnd vs InterlockedAdd
но такая операция удобнее, вот всё.
В ядре у atomic*_add_return() такая-же семантика. А атомарные логические операции есть только побитовые test_and_set_bit/test_and_clear_bit/test_and_change_bit.
И совершенно не понятно где может понадобиться атомарная побитовая логическая операция со словом.
__sync_and_and_fetch на что можно заменить?
http://gcc.gnu.org/onlinedocs/gcc-4.8.1/gcc/_005f_005fsync-B...
построить им замену из студийных интрисиков наверно можно но придётся городить макросы с
switch (sizeof(*ptr)) { 1: 2: 4: 8: } чтоб работало правильно для всех типов.
поищи, возможно кто-то уже наваял такой компат лэйер.
это гццшные builtin атомарные операции построить им замену из студийных интрисиков наверно можно но придётся городить макросы с
switch (sizeof(*ptr)) { 1: 2: 4: 8: } чтоб работало правильно для всех типов.
поищи, возможно кто-то уже наваял такой компат лэйер.
подменить надо в одном-двух местах, без заморочки с типами.
пробую портировать на интрсинки
*_and_fetch() заменеяются на атомарную операцию возвращающую старое значение плюс ещё раз эта-же операция над результатом. //КО
Оставить комментарий
yolki
*ДжекиЧанФейсПОЧЕМУ?*