Re: Квалификатор volatile (Язык Си)
Subject: Квалификатор volatile (Язык Си)
> поможет ли при этом квалификатор volatile?
>
> long volatile val;
>
> __interrupt void int(void)
> {
> val = 0x12345678;
> }
>
> void main()
> {
> val+=5;
> }
>
Нет, не поможет. Скорее даже наоборот -- он запрещает компилятору
делать к-либо предположения о том, что переменная остаётся постоянной.
(volatile применяется к регистрам портов ввода, которые могут меняться
"снаружи", вне зависимости от действий программы).
Предназначен для подавления "агрессивной" оптимизации.
М.