LINUX.ORG.RU

История изменений

Исправление shkolnick-kun, (текущая версия) :

Например, когда работаешь с портами ввода вывода, компилятору не известно о существовании аппаратной части, и он может выкинуть «бессмысленные» операции.

А если указатель на регистр объявлен как volatile uint32_t *, то компилятор не выкинет операции с ним.

Но в основном такие вещи скрыты от глаз пользователя за макрос-магией.

Исходная версия shkolnick-kun, :

Например, когда работаешь с портами ввода вывода, компилятору не известно о существовании аппаратной части, и он может выкинуть «бессмысленные» операции.

А если указатель на регистр объявлен как volatile uint32_t *, то компилятор не выкинет операции с ним.

Но в основном такие вещи скрыты отглаз пользователя за макрос-магией.