Почему STVD (ST Visual Desktop) игнорирует критические строки кода? - PullRequest
0 голосов
/ 19 июня 2020

Я использую STVD (ST Visual Desktop) с компилятором Cosmi c в режиме отладки с включенной оптимизацией «Минимизировать размер кода». Ссылаясь на прикрепленное, отладчик только что перескочил (проигнорировал) строку 24, поскольку компилятор даже не включил эту строку в код, обнаружил, что i и q не равны, и перешел непосредственно к условию else, как отражено в окне разборки. Может ли кто-нибудь объяснить, почему компилятор / отладчик это делает? Правильный код выглядит как попытка угадать, что компилятор сделает дальше. i и q являются 8-битными целыми числами без знака, и они были равны даже до того, как я добавил строку 24. Я просто добавил это, чтобы было очевидно, что в кодировке они действительно равны.

STVD Снимок

...