|
0 / 0 / 0
Регистрация: 13.03.2015
Сообщений: 52
|
|
Нужны ли коллбэки или это синтаксический сахарок сомнительно18.09.2017, 21:57. Показов 13033. Ответов 135
Метки нет (Все метки)
Коллбэк - исполняемый код, передаваемый посредством указателя в функцию как аргумент.
Обычно механизм коллбэков (касательно mbed) применяется при использовании какой-нибудь обширной библиотеки, оказавшейся строго между физическим уровнем и уровнем приложения. Классический пример - библиотека файловой системы. Разумно, что мы подключаем библиотеку для физической реализации протокола обмена данными с носителем (HDD, SD-card и т.д.) плюс библиотеку ФС. И на уровне приложения используем что-нибудь вроде функций readFile/writeFile из библиотеки ФС пробрасывая через эти функции указатели на функции readData/writeData из библиотеки физической реализации. Типа все библиотеки работают как черные ящики, всё прекрасно. Проблема в том, что в самой популярной библиотеке ФС для mbed - FatFs - не используются коллбэки. В числе файлов библиотеки дается файлик, который нужно подправить руками. Т.е. чуточку залезть в черный ящик. Т.е. концепция "библиотека - это черный ящик, а коллбэки - это способ послать в черный ящик исполняемый код" ступает нафиг. Т.е. зачем тогда нужны коллбэки? Механизм-то их применения нихрена не простой. По сравнению с "подправить файлик в библиотеке". Не, я понимаю в библиотеках USB они буйным цветом цветут. Но в случае библиотеки USB такой механизм навязан разработчиками библиотеки. Есть ли кейсы на которые механизмы коллбэков ложаться идеально ровно? Или коллбэки - это синтаксический сахар сомнительного свойства?
0
|
|
| 18.09.2017, 21:57 | |
|
Ответы с готовыми решениями:
135
Зачем нужны коллбэки? Потоки или коллбэки?
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 382
|
|
| 22.09.2017, 14:07 | |
|
:)))) хахаха, это в вас говорит злость за то, что вы облажались по самые помидоры с этими вашими коллбэками :)))
называете меня пустозвоном от злости за то, что я не дал вам пороть хуйню про раскрутку HDD во время коллбэков и про сортировку по 33-ричным числам. Зато вам не повадно будет нести ересь лишний раз. Теперь всегда будете знать, что есть тот, кто всю эту вашу ахинею на раз выведет на чистую воду :)) Кстати, никто из вас так ничего по делу то про "33-ричные числа чтобы считать слова" и не ответил :)) Всё на бедного школьника Арсюшу свалили. А до этого ишь как распинались то, аж готовы были поверить и в 33-ричные нули, и в раскрутку HDD, и в прочие нелепости, высказанные незнайкой Арсюшей. Ничо-ничо, посоны, тяжело в ученье - легко в бою. Мы вас еще научим ползать :)))) Может, из вас толк и выйдет потом. главное, чтобы дурь не осталась
0
|
|
|
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 461
|
|
| 22.09.2017, 14:19 | |
|
Для сравнения "символов" можно применять и 33-ти ричную систему счисления, но сравниваемые слова при этом должны быть или переведены или предварительно сформированы (упакованы при преобразовании) в соответствующий набор бит. т.к. обычный ASCII символ это 8мь бит.
Для 33-ти ричной системы это (грубо определяя) больше 5-ти бит. Для упаковывания "буквенных" чисел (без дополнительных знаков) логичнее брать систему кратную 2 (2,4, 8, 16, 32, 64 ...) Хранение символьных данных в подобном варианте сравнимо с простейшей хэш функцией. P.S. Есть ещё. например, где то применяемая система Rodyx-50 :) Про коолбеки - не надо их пугаться это один из способов обобщения алгоритма для привязки конкретики по месту.В МК было их применение когда периферия одного функционала была рабросана по разным битовым адресам и оказалось проще для её выбора менять адрес (и логику работы с периферией) на соответсвующий вызов внутри обрабатываемой функции.
0
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 382
|
|
| 22.09.2017, 14:43 | |
|
Ну слава богу, ну наконец то хоть одно здравомыслящее зерно есть! :)))) Ураа, наконец-то хоть кто-то вспомнил про ASCII, про то, что каждой букве уже и без того назначен свой номер... Может кому-то и легче для понимания перевести те номера в порядковые номера 1...33, но во-первых, это дополнительные затраты, во-вторых, 33 буквы только одного регистра, а есть еще и небуквенные символы, в-третьих есть как минимум еще и латиница. И для сферы эмбедда подобные алгоритмы вообще малоприменимы из-за накладных расходов.
0
|
|
|
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 461
|
||
| 22.09.2017, 14:54 | ||
P.S. Тут вспомнили про Рогозина :) Рогозин Д.В. Экономичный интерпретатор для узлов сенсорной сети.pdf
0
|
||
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,257
|
||||||
| 22.09.2017, 15:30 | ||||||
Для начала. А то сдается мне, что кроме пустых понтов тебе и сказать нечего.
Ты конкретно спросил чела, что он имел ввиду, прежде чем выводы делать?
0
|
||||||
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,257
|
|||
| 22.09.2017, 15:36 | |||
0
|
|||
|
0 / 0 / 0
Регистрация: 22.03.2015
Сообщений: 838
|
||||||
| 22.09.2017, 16:59 | ||||||
|
Классификация программистов в ортогональном базисе
0
|
||||||
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,257
|
|
| 22.09.2017, 18:18 | |
|
В диаграмме не хватает размерности для надувания илитных щечек.
Взаимопонимание невозможно только при зашкаливающем, завышенном мнении о своих знаниях и опыте и уверенности, что опыт заменяет все.
0
|
|
|
0 / 0 / 0
Регистрация: 22.03.2015
Сообщений: 838
|
||
| 22.09.2017, 18:33 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 382
|
|
| 22.09.2017, 18:46 | |
|
:)) а мне пофик, что обо мне думают всякие там писюки :))) мне главное, что я прав :) и я ведь был абсолютно прав :)) Кстати, где Арсюша? крутит блины?
0
|
|
|
1 / 1 / 0
Регистрация: 19.09.2012
Сообщений: 924
|
||
| 22.09.2017, 18:51 | ||
P.S. когда у кого-либо появляется чувство абсолютной правоты, чаще всего они значит, что этот человек очень крупно облажался на глазах у многочисленных свидетелей. причем сам этого еще не осознал.
0
|
||
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 382
|
|
| 22.09.2017, 19:18 | |
|
Ну облажались то вы втроем (или сколько вас тут вместе с Арсюшей было) :))) Попробуйте доказать обратное :)) вон ведь fr0stir уже признал, что лажа с 33-ричными числами и с HDD вышла :) Теперь дело за ivsy :)) ждём-с! А я даже могу помочь ему и наглядно с картинками показать, чем обработчик прерывания отличается от функции :))) Ну чо, а? ничо-ничо, посоны, мы сделаем из вас человеков, не ссыте :)))
0
|
|
|
0 / 0 / 0
Регистрация: 24.02.2010
Сообщений: 804
|
|||||||
| 22.09.2017, 20:05 | |||||||
Кстати - там в обработчике прерывания вызывается CallBack. И Кстати - этот обработчик прерывания тоже CallBack
0
|
|||||||
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,257
|
||
| 22.09.2017, 21:33 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 382
|
|||||||||
| 22.09.2017, 22:13 | |||||||||
|
Чо ты выдумываешь то?:) Кто кого ткнул то :))) Кажись, это же вы облажались, ась? :)) мне процитировать ваш бред? Окей, ща сделаем, полюбуйтесь еще раз вашим фееричным бредом во главе с Арсюшей :)) Итак:
вы прослушали краткий пересказ основных бредовых моментов :)))) Вы даже друг другу противоречите то. Один кричит: "Коллбеки - это новое слово в программировании, за ними будущее!". Другой презрительно возражает: "Коллбэки - это мелочь, фигня чуть сложнее указателей". Первый не унимается: "Надо сортировать обязательно по алфавиту!". Третьего осеняет: "Да! Надо считать слова 33-ричными цифрами и добавлять 33-ричные нули впереди! Посоветуйте кейсы!". А первый с огорчением: "Да я не фкурсах и не разбираюсь вообще, не могу ничо посоветовать...". Тогда третий воодушевленно: "Ну ничо, я щас напишу контроллер лифта и коллбэки заиграют в нем всеми красками!!" :))) Ну и кто кого ткнул, ась?:))) Неучи вы, посоны. Но ничего, это поправимо. Мы еще научим вас ползать :))) Какгрицоо, спасибо, поржал :)) второй день ржу над темой. Ну всё, теперь хватит, теперь можете удалять эту тему к херам собачьим. Ясно уже и с коллбэками, и с запутавшимися погромистами. Ржачного тут уже ничего не будет, Арсюша свалил.
0
|
|||||||||
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,257
|
|
| 22.09.2017, 22:29 | |
|
Ну главный клоун, бусьмен илитный, остался, без циркача не останемся.
0
|
|
|
0 / 0 / 0
Регистрация: 31.01.2013
Сообщений: 1,625
|
|
| 22.09.2017, 22:44 | |
|
Как я понял, это средство сделать систему максимально уязвимой. Статические куски кода выполняются даже при некотором повреждении программы. Можно исхитриться написать код так, чтобы он выполнялся даже при обширных повреждениях. Или даже самовосстанавливался в некоторой степени.
А коллбэк - это значит "если в каптерке никого нет, то работаем как обычно. А если там сидит уситый господин, то делать всё, что он скажет". И он таки скажет - "бросай работу, ломай станки". Предательские "пустышки" для чужеродной ДНК вставлены и только ждут своего часа, чтобы у нас на лбу вырос .
0
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,864
|
|
| 23.09.2017, 00:35 | |
|
Сдуру можно и ... сломать.
"ДНК" (код) не чужеродная, а вами же написанная. Но да, callback - дополнительное усложнение, и использовать его надо, когда он решает какие-то задачи (обычно этот момент довольно очевиден: код без callback становится омерзительным).
0
|
|
|
0 / 0 / 0
Регистрация: 24.02.2010
Сообщений: 804
|
||
| 23.09.2017, 12:39 | ||
Вообще, как по мне - приложение должно быть разделено на "слои" типа такого: <Изображение удалено> И те самые калабяки - это есть средство общения между этими слоями. Если не делать такие слои, то... те, кто будут принимать вашу работу (ну вы же все же стараетесь продать свой труд), будут вас долго материть, и скорее всего откажутся от работы с вами. Почему? Ну... просто потому, что если сделать прикладу без вот этого разделения, то будет очень сложно перенести готовое приложение, скажем, на новый процессор, или же будет невозможным использовать готовые наработки в новых проектах, потому как все будет жестко завязано на конкретное железо. И Коллбяки тут - как НЕ усложнение, а как облегчение. Просто надо смотреть малость с другого ракурса. Используя коллбяки и такое вот разделение архитектуры приложения, можно один и тот же код гонять на разных платформах без каких либо изменений, например, сначала протестировав на компе, а потом перенеся на процессор. И да - соверменные процы сейчас позволяют особо не оглядываться на полученный объем кода, ускоряя, тем самым, время разработки. А это второй параметр, по которому вас будут либо выгонять либо продлевать время сотрудничества с вами.
0
|
||
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,864
|
|
| 23.09.2017, 13:07 | |
|
Ну да, я на первой странице говорил: коллбэки нужны позарез начиная с некоторого уровня сложности.
Если человеку надо просто помигать светодиодом, а его заставляют разделить архитектуру приложения на уровни и связать их коллбэками - естественно, у него возникнут вопросы.
0
|
|
| 23.09.2017, 13:07 | |
|
Помогаю со студенческими работами здесь
80
Зачем биты нужны это меньше байтов но int 32 бита но я не допер зачем это нужно это 4 байта то есть int не может больше 4 байт весить? Сомнительно работают клавиши Сомнительно сильные просадки ФПС Коллбэки Коллбэки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|