ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 ноября
481666 Топик полностью
fk0, легенда (21.01.2014 23:41, просмотров: 69) ответил ыыыыыыыыыы на про програмирование, вернее gcc -O2 и memory barrier. в какой раз уже наступаем, но продолжаем колоться и есть кактус... все переменные volatile
di(); glob_ww++; ei(); -- не вариант? Разумеется di() и ei() являются барьерами одновременно (ибо на 16-битной платформе 32-битный счётчик один фиг за две операции). Ну не совсем ei() прямо таки, а begin_critical() с запоминанием и end_critical() с восстановлением. Косяк в том, чтоб глобальные переменные нужно обёртывать в критические секции, а не полагаться на атомарность операций (а то ещё многоядерность и т.п.)
[ZX]