Вход
Наше всё
Теги
codebook
无线电组件
Поиск
Опросы
Закон
Среда
7 мая
О смысле всего сущего
0xFF
Средства и методы разработки
Мобильная и беспроводная связь
Блошиный рынок
Объявления
Микроконтроллеры
PLD, FPGA, DSP
AVR
PIC
ARM, RISC-V
Технологии
Кибернетика, автоматика, протоколы
Схемы, платы, компоненты
Средства и методы разработки
1068807
Топик полностью
Бopиc2
(13.01.2021 12:17, просмотров: 3)
ответил
IBAH
на
А причина возникновения варнинга следующая... Анализатор не плодит дополнительных сущностей. Из строки "if(Kolvo>MaxRegTX || Kolvo==0) return;" он выясняет
Kolvo[1,32], а из строки "if((Adres+Kolvo)>MaxReg) return;"
он выясняет
Adres[0,15], принимая
Kolvo наихудшим случаем. Потом когда доходит до цикла, он считает индекс массива 32+15-1=46. И выкидывает варнинг. П
оправьте если не прав.
А может и не так. Адрес получается извне и он шорт, и может быть например 65510. И тогда if проскочит.
Преобразования типов при операциях. Пункт 7. Если предыдущий пункт не выполняется то оба операнда приводятся к типу int
-
IBAH
(14.01.2021 17:23
)