Предупреждение компилятора C4746

переменный доступ "<expression>" зависит от параметра /volatile:[iso|ms]; рекомендуется использовать встроенные функции __iso_volatile_load/store.

C4746 создается всякий раз, когда доступ к переменной переменной осуществляется напрямую. Он предназначен для того, чтобы разработчики могли определять расположения кода, затронутые определенной переменной моделью (которая может управляться с /volatile помощью параметра компилятора). В частности, это может быть полезно при поиске аппаратных барьеров памяти, созданных /volatile:ms компилятором.

Встроенные функции __iso_volatile_load/хранилища можно использовать для явного доступа к переменной памяти без влияния на переменную модель. Использование этих встроенных функций не будет запускать C4746.

Это предупреждение отключено по умолчанию. Подробнее: Выключенные по умолчанию предупреждения компилятора .