Проблема с программным кодом

Тема в разделе "Arduino & Shields", создана пользователем smilling, 8 июн 2022.

  1. SergeiL

    SergeiL Оракул Модератор

    Не, варнинги - полезная штука.
    Те же ошибки преобразования типов приводят к нестабильному поведению устройств.
    А варнинги - подскажут ;).
     
  2. Рокки1945

    Рокки1945 Гуру

    не тут не так - которые до них были им надо что-то новое - они наберут обучат других и свалят и так вечность
     
  3. какие варнинги к какому нестабильному?
     
  4. Airbus

    Airbus Радиохулиган Модератор

    Фил,согласен с тобой. Разные времена—разные библиотеки. Вот именно для этого в папку со скетчем кладу скомпиленый НЕХ. Или bin (для esp)Чтоб сразу прошить в Ардуину. Или esp. Иногда просто лень компилить и прошиваю напрямую.
    Сереж—если пишу для себя—то пишу так чтоб без вариантов лажи. Код может и больше по размеру строчек но точно делает то что надо. Ассемблерная вредная школа. Варнинги мне мало что дают .Может и не прав но до сих пор проблем не было.
     
  5. SergeiL

    SergeiL Оракул Модератор

    Варнинги указывают на предполагаемые ошибки.
    Например на операции с переменными разной размерности, которые в определенных обстоятельствах могут привести к ошибке.
    Большую часть времени все будет корректно работать, но в какой то момент, данные могут не поместиться в переменную меньшей разрядности и это приведет к ошибке, что в свою очередь к глюкам устройства.
    Любой варнинг - это звоночек от компилятора, что ему что то не нравится, и нужно проверить эти операции.
    Проверяем, и если все правильно, корректируем так, чтобы понравилось компилятору. Например прямое преобразование, если так и задумано.
    После этого всегда варнинг пропадает.
    Не, Варнинги очень классная фича компилятора! ;)
     
    Feofan, Рокки1945 и DetSimen нравится это.
  6. parovoZZ

    parovoZZ Гуру

    Варнинги - не панацея. Здесь у половины вопрошающих без всяких варнингов все равно ничего не работает.
     
    Airbus нравится это.
  7. Airbus

    Airbus Радиохулиган Модератор

    Это так
     
  8. SergeiL

    SergeiL Оракул Модератор

    Так поэтому варнинги и выключены по умолчанию.
    Чтобы хоть как то устройство заработало и светодиод замигал.
    И не раздражали лишние сообщения во время компиляции.

    Но ведь ляпы то все делают. У меня каждый раз первая компиляция - это нахождение описок, ошибок в имени переменной, и.т.д
    Например сравнение знакового и беззнакового. Скопировал и не проверил.
    Что лучше, оставаться в неведении или пусть компилятор скажет об этом, а ты посмотришь на эти строчки?
    Варнинги - не панацея, но вполне неплохая возможность компилятора проверить код на неявные ошибки.
     
    Feofan и DetSimen нравится это.
  9. parovoZZ

    parovoZZ Гуру

    У меня варнингов от силы один, ну максимум два. И то я прекрасно знаю, откуда они берутся. То бишь они контролируемые полностью. И не исправляю, т.к. изящность кода потеряется. Например, двигаю указатель в цикле и на последней итерации сразу выхожу из функции. Тут же получаю варнинг о возможном выходе за пределы допустимого. Но мне проверять последнюю итерацию цикла, чтобы не двигать его, вообще не упало.