![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 14.12.2012
Сообщений: 668
|
![]() Здравствуйте! Может ли кто-нибудь порекомендовать что-нибудь для прочтения на тему "ключевое слово volatile и смежные вопросы", MSDN'а недостаточно, желательно со спуском до аппаратного уровня. Не отправляйте, пожалуйста, в гугл, гуглил.
Последний раз редактировалось 220Volt; 21.01.2013 в 11:07. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
![]()
мсдн`а не достаточно, а гугл не помог.
![]() http://alenacpp.blogspot.ru/2006/04/volatile.html |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 14.12.2012
Сообщений: 668
|
![]()
Нашел у Рихтера ответы. Было не понимание, например, почему CRITICAL_SECTION не объявляются volatile? Теперь понял. А в мсдн очень скупое объяснение, имхо.
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 14.12.2012
Сообщений: 668
|
![]()
Благодарю за участие.
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 14.12.2012
Сообщений: 668
|
![]()
Прошу помочь разобраться в понимании сути Release и Acquire семантик (типа – запись в volatile имеет release семантику).
В голове образовалось каша. Что они делают, вот что хотелось бы понять. В голове есть мысли о том, что компилятор может изменить порядок операций в коде, а эти семантики ограничивают компилятор в этом. Плюс они помогают синхронизировать данные между различными ядрами (барьеры), если верно хотелось бы прояснить механизм (синхронизация между чем и чем? Регистрами и кешем ?). Пытаюсь осилить memory order над atomic типами в C++11, запутался … |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 14.12.2012
Сообщений: 668
|
![]()
Смежный вопрос что здесь происходит (у нас с ассемблером не очень)?
Код:
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
обменивается значение регистра eax, и переменной Barrier.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#8 |
Участник клуба
Регистрация: 08.10.2007
Сообщений: 1,185
|
![]() |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 14.12.2012
Сообщений: 668
|
![]()
Спасибо. Хорошие ссылки, буду разбираться.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Объясните разницу модификаторов CONST и VOLATILE | svatorus | Помощь студентам | 0 | 07.06.2012 13:13 |
Interlocked-функции и volatile. Необходимость совместного использования. | neokoder | Win Api | 0 | 21.03.2011 22:06 |