⁣🇺🇦
Спасибо, я уже разобрался, мне нужно было сделать что-то по типу очереди но со своими плюшками, вот возился с тем как сделать ожидание пока не появится свободное место в очереди (как в оригинальных очередях фриртоса)
⁣🇺🇦
Так вы просто обращаетесь к очереди с большим таймаутом - вот вам и ожидание пока не появится место
у очередей слишком малый функционал, мне к примеру нужно считывать все данные с очереди не освобождая ее. Я нашел только как вытащить тот обект который будет следующим извлечен с очереди и как узнать общее колво обектов в очереди
⁣🇺🇦
поэтому делаю свой аналог с массивом и шлюхами
Василий
поправте, если не прав, отладк vs code + platformio на esp 32 (wroom32, dev board) возможна только при наличие спец платы? пока только такое нагуглил.
Dmytro
У меня китайский клон j-link, к примеру
Василий
У меня китайский клон j-link, к примеру
это внеШний девайс или бывают девборды со встроенным?
Dmytro
это внеШний девайс или бывают девборды со встроенным?
Бывает девборда и со встроенным - ESP-WROVER-KIT
Василий
Бывает девборда и со встроенным - ESP-WROVER-KIT
спасибо. недешевый этот кит, по сравнению с бордой
Владимир
Ппц. Полночи пробовал примеры СДК шные компилить, всё ошибки да ошибки. А я оказывается с ардуиновским фреймворком проект в платформио сделал и туда всё пихал, потому и не компилилось. К утру допер только)
Владимир
Бывает и не такое))
Да ппц, почти сутки не сплю) пропсиховал полночи. Только после третьего примера дошло, что это у меня что не так, иначе б форум завалили ихний. Начал искать в чем проблема. Оно б ещё хоть vscode шарил хотяб, а так ни в редакторе, ни в плагине, ни в плате не шарю, да и с плюсами не особо дружу. А тут в самом начале такой подвох.
⁣🇺🇦
Почти все мы через это проходили)
Некоторые с рождения все знают и умеют (если верить их словам)
Владимир
Почти все мы через это проходили)
Да понимаю я) я так то учился когда-то, но потом депресуха из-за развода и ни строчки кода лет семь, или восемь, так что не совсем с нуля, но ппц)
Владимир
Некоторые с рождения все знают и умеют (если верить их словам)
Однажды ошибку с утечкой памяти трое суток ловил)
Владимир
Из-за идиотской арифметики указателей сишной....
⁣🇺🇦
Да понимаю я) я так то учился когда-то, но потом депресуха из-за развода и ни строчки кода лет семь, или восемь, так что не совсем с нуля, но ппц)
Гыы, было что розошлись на пару месяцев, тоже депрессия была но я тогда наоборот только то и делал что кодил))) правда ничего толкового не сделал и потом все удалил
⁣🇺🇦
Хочу перед удалением очереди повызывать деконструкторы у всех обектов которые остались в очереди. В очереди лежат не сами обекты а указатели на обекты, меня здесь смущает то что я аллоцирую память по размеру обекта а не по размеру указателя но по другому ругается, вот вапрос я правильно все делаю или нет? как я понял из очереди возвращается копия тех данных которые туда закидываешь именно поэтому я закидываю в очередь указатели чтобы не делать лишних копий того-же обьекта и вот здесь мне кажется я что-то не так делаю
Владимир
https://coderoad.ru/8128001/C-%D1%83%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D1%81%D0%B0%D0%BC%D0%BE%D0%B3%D0%BE-%D1%83%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8F-%D0%B2%D0%BC%D0%B5%D1%81%D1%82%D0%BE-%D1%83%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F-pointed-to-data
⁣🇺🇦
Владимир
Спасибо пошел читать
Незачто) сам на указателях в ступор впадаю. Слишком неочевидно.
⁣🇺🇦
Незачто) сам на указателях в ступор впадаю. Слишком неочевидно.
До этого проблем не было почти)) а тут запутался
Владимир
До этого проблем не было почти)) а тут запутался
Если кратко, то все что вызвал надо удалить, а указатели сами удалятся когда их область видимости закончится. Но вот тут я хз как оно в контроллере происходит.
⁣🇺🇦
Если кратко, то все что вызвал надо удалить, а указатели сами удалятся когда их область видимости закончится. Но вот тут я хз как оно в контроллере происходит.
Ну мне нужно удалить тот объект на который указывает указатель, точнее не удалить а вызвать деконструктор (внутри объекта другие указатели которые надо очистить) и потом после этого поудалять объекты, вот меня смущает что с очереди по идее приходит указатель на объект а вот удалить я его не могу а могу удалить только тот который аллоцирую на скрине
⁣🇺🇦
Вы ж вроде на плюсах пишите, почему бы тогда не использовать new/delete?
(студия ругается на delete и я не до конца понимаю как это работает поэтому не доверяю )
Владимир
Delete вызови и всё
⁣🇺🇦
Delete вызови и всё
Так он ведь очистит ту память которая на 12 строке аллоцируется а не ту что с очереди вылетела, или я не прав? (Меня смущает malloc(sizeof(Command)) вместо malloc(sizeof(Command*))
Владимир
(студия ругается на delete и я не до конца понимаю как это работает поэтому не доверяю )
Так то, я на подобном трое суток с утечкой памяти боролся когда то.
⁣🇺🇦
на сколько я понимаю здесь нужно вот так но тогда студия ругается
Dmytro
на сколько я понимаю здесь нужно вот так но тогда студия ругается
вам нужно sizeof не указателя, а самой структуры, все правильно ругается
⁣🇺🇦
вам нужно sizeof не указателя, а самой структуры, все правильно ругается
но ведь с очереди возвращается указатель на структуру а не сама структура, 😕
⁣🇺🇦
похоже я понял
⁣🇺🇦
мне ведь не нужно очищать ту память которую занимает сам обект потому что эта память аллоцировалась в функции создания очереди и значит она очистится во время удаления очереди
⁣🇺🇦
значит мне нужно только вызвать деконструкторы у всех этих обектов и затем очистить ту память что я выделил перед циклом и все
⁣🇺🇦
Спасибо всем за помощь) плюсы тяжело даются после языков где не нужно думать про память...
Владимир
Спасибо всем за помощь) плюсы тяжело даются после языков где не нужно думать про память...
Плюсы вообще своеобразный язык. Если в остальных языках чтобы выстрелить себе в ногу надо постараться, то тут наоборот.
⁣🇺🇦
Плюсы вообще своеобразный язык. Если в остальных языках чтобы выстрелить себе в ногу надо постараться, то тут наоборот.
но все-же хороший опыт, я теперь и в C# буду использовать неуправляемую память, раньше я ее боялся
Владимир
⁣🇺🇦
Мне сложно представить где это на Шарпе может понадобиться)
для ускорения работы, чтобы меньше грузить GC
⁣🇺🇦
на самом деле умные дядьки много где используют добиваясь при этом многократного прироста производительности
Владимир
на самом деле умные дядьки много где используют добиваясь при этом многократного прироста производительности
Возможно слишком стереотипно мыслю, но как по мне шарп больше про формошлепить)
⁣🇺🇦
пару лет назад смотрел доклад где чел (не помню что именно делал) но в общем у него была некая задача которую его программа решала примерно 17 секунд (потому что у него создавалось дохрена обектов которые затем удалял GC) и ему скорость работы прям вообще не нравилась потом он переделал все на неуправляемую память и все стало отрабатывать за 0.1 секунду просто потому что не запускался GC
Владимир
Так классный и удобный язык после плюсов особенно)
⁣🇺🇦
сейчас шарп это больше про бэкенд
накидать за пару недель бэк и запустить на самой дешевой линукс виртуалке))
⁣🇺🇦
Возможно слишком стереотипно мыслю, но как по мне шарп больше про формошлепить)
десктоп сегмент имхо вообще умирает, все по максимуму переходит в браузер... а вот бэка все больше и больше (как и фронта для браузеров но я не хочу в js ибо он как по мне еще хуже плюсов)
Владимир
накидать за пару недель бэк и запустить на самой дешевой линукс виртуалке))
Да вот тут я хз) сишку вот начал использовать потихоньку, а на Шарпе в прошлый раз в 12м году писал)
Владимир
И какраз формошлепил)
Владимир
десктоп сегмент имхо вообще умирает, все по максимуму переходит в браузер... а вот бэка все больше и больше (как и фронта для браузеров но я не хочу в js ибо он как по мне еще хуже плюсов)
У меня друг на эту тему рассказывал когда то. Он профессиональный программист. Говорит js это ппц и писать на нем боль после нормальных языков.
⁣🇺🇦
*работает почти везде*
Владимир
Какую то банковскую базу данных для немцев пишут, так что по работе, если попадается js, то обычно на него вешают. Раз признался, что шарит и понеслась)
Владимир
Кросплатформенный ассемблер считай
⁣🇺🇦
Си про кросплатформенность
только вот под все платформы разные либы и компилить
⁣🇺🇦
а на шарпе я розрабатываю / тестирую / компилирую на винде
⁣🇺🇦
затем просто скидываю бинари на линукс сервер настраиваю сервис и все
⁣🇺🇦
все работает ничего больше не требуется
Владимир
а на шарпе я розрабатываю / тестирую / компилирую на винде
Я давно уже не про программирование) только как хобби)
⁣🇺🇦
Я давно уже не про программирование) только как хобби)
Для меня это больше 5 лет было хобби только около года назад стало работой
Владимир
Для меня это больше 5 лет было хобби только около года назад стало работой
Больше всего нравилось графику на турбо Паскаль кодить. Либа идеальная там была)
Владимир
Да и вообще борландовские библиотеки нравились
⁣🇺🇦
⁣🇺🇦
У меня в школе был Pascal ABC
⁣🇺🇦
Или как то так
⁣🇺🇦
я тут задумался, это же капец как быстро время летит, как хобби программирование у меня оказывается 9 а не 5... шок...
Anton
отчитываюсь о прогрессе: https://youtu.be/GvBGo-hvBrQ