История изменений
Исправление Dark_SavanT, (текущая версия) :
оптимизации не могут нарушать логику программы.
Могут.
uint32_t* addr = 0x20000008;
*addr = 0x11223344;
*addr = 0x11223344;
*addr = 0x11223344;
*addr = 0x11223344;
*addr = 0x11223344;
И компилятор, если ему не сказать явно volatile, сломает логику программы, по твоему утверждению.
Попустись.
Исходная версия Dark_SavanT, :
оптимизации не могут нарушать логику программы.
Могут.
uint32_t* addr = 0x20000008;
*addr = 0x1122334455;
*addr = 0x1122334455;
*addr = 0x1122334455;
*addr = 0x1122334455;
*addr = 0x1122334455;
И компилятор, если ему не сказать явно volatile, сломает логику программы, по твоему утверждению.
Попустись.