Весь стек потока может быть расположен на защищенной странице памяти с помощью обработчика, который регистрирует все операции чтения и записи (и, конечно, позволяет их завершать).
Однако я не думаю, что MSVCдействительно волнует, может ли быть обнаружен доступ к памяти.Он понимает volatile
, что означает, среди прочего, «не пытайтесь применять оптимизацию к этому объекту».Так что нет.Это не имеет смысла, потому что MSVC не заинтересован в ускорении такого рода использования volatile
.
Поскольку это зависит от реализации, можно ли наблюдать наблюдаемое поведение и насколько реально можно наблюдать, я думаю, что выВы правы, что реализация может «обмануть», если знает из-за деталей оборудования, что доступ не может быть обнаружен.Наблюдаемое поведение, которое не имеет физически обнаруживаемого эффекта, может быть пропущено: независимо от того, что говорится в стандарте, средства обнаружения несоответствующего поведения ограничены физически возможным.
Если реализация не соответствует стандартув лесу и никто не замечает, издает ли он звук?Вроде вещи.