-
- Так причина вроде определилась. При максимальной оптимизации
компилятор оператор if ... else сводит к оператору if. Если убрать галочку Function inlining, то всё транслируется
правильно. Я думаю, полезно иногда просматривать сгенерированный
код. Как говориться - доверяй но проверяй. Или нет? - Bill(17.04.2020 18:46)
- Нет. При любой оптимизации и используя любые действительные
выражения языка, оно обязано работать и не ломаться. Разумеется,
если код написан верно. Nikolay_Po(49 знак., 17.04.2020 20:23)
- Смотрите GetButtons(). И вообще, я на IAR 20 лет сижу. Неужели за это время я не научился разбираться во всех этих нюансах? Для меня это первый непонятный случай работы компилятора. Был, правда, ещё один случай , но это относилось не компилятору. К тому же, я там разобрался. - Bill(18.04.2020 07:43)
- Нет. При любой оптимизации и используя любые действительные
выражения языка, оно обязано работать и не ломаться. Разумеется,
если код написан верно. Nikolay_Po(49 знак., 17.04.2020 20:23)
- Так причина вроде определилась. При максимальной оптимизации
компилятор оператор if ... else сводит к оператору if. Если убрать галочку Function inlining, то всё транслируется
правильно. Я думаю, полезно иногда просматривать сгенерированный
код. Как говориться - доверяй но проверяй. Или нет? - Bill(17.04.2020 18:46)