-
- Ещё раз - на мой взгляд, если быстро не сочиняется нужная структура - значит недообдумана ЛОГИКА РАБОТЫ программы (на фазе "до кодирования"), и она работать будет ПЛОХО. - ReAl(07.03.2006 15:46, )
- это уже религиозное... иногда, чтобы написать алгоритм "чисто" нужно потратить больше времени на кодирование и в результате получить менее оптимальный код. bialix(158 знак., 07.03.2006 16:40, )
- Ключевое слово ПРОДЖУМАНО. А romario в исходном посте написал ReAl(78 знак., 07.03.2006 18:11, )
- ok Romario(2434 знак., 07.03.2006 18:24, )
- Попытался отрешиться от твоего кода и прикинуть - а как бы я решал эту задачу. ReAl(3880 знак., 08.03.2006 20:37, )
- Пардон! Ошибочка вышла - для исходного подсчёты были не для меги8, а для classic AVR. Правильная табличка ReAl(164 знак., 08.03.2006 20:57, )
- А!!! Так это же ниагарский водопад!!! - ReAl(07.03.2006 19:51, )
- (ччёрт, enter не вовремя нажал) - в смысле классическая (в некотором смысле "типовая" - см соседний тред "без претензии на флейм") конструкция switch/do-while ReAl(1710 знак., 07.03.2006 19:53, )
- мда. не знал, что такое в си можно делать. постараюсь забыть этот трюк и никогда не использовать bialix(391 знак., 08.03.2006 01:59, )
- Да, "никогда не использовать" - это я понимаю и согласен, но забывать не стоит - иначе скоро выйдет "фортран-программу можно написать на любом языке" - ReAl(08.03.2006 21:09, )
- Это не совсем мой код. Чья идея - не помню, но в книжке было указано - чьё изобретение. ReAl(588 знак., 08.03.2006 21:07, )
- я смотрел 15 минут и не ржал, потому что bialix(83 знак., 08.03.2006 22:00, )
- Тем не менее именно это и есть штатное использование case Сергей Борщ(350 знак., 08.03.2006 02:30, )
- завернутость заключается не в подряд идущих case а то что сразу после switch влез цикл do/while, причем Romario(70 знак., 08.03.2006 13:07, )
- "case" - никогда вообще не "отрабатывает". Он просто *метка* для перехода, осуществляемого switch. ReAl(98 знак., 08.03.2006 21:17, )
- я имел ввиду что "логически" отрабатывается (строится таблица переходов) - Romario(09.03.2006 12:28, )
- Да, я это потом заметил но сообщение то ли затерлось то ли не дошло. - Сергей Борщ(08.03.2006 17:45, )
- даже не так bialix(220 знак., 08.03.2006 15:05, )
- "case" - никогда вообще не "отрабатывает". Он просто *метка* для перехода, осуществляемого switch. ReAl(98 знак., 08.03.2006 21:17, )
- завернутость заключается не в подряд идущих case а то что сразу после switch влез цикл do/while, причем Romario(70 знак., 08.03.2006 13:07, )
- хм...хитра конструкция. я такую первый раз вижу:) честно. - Romario(07.03.2006 19:57, )
- Всё, печатаю дампы накомпилированного с твоего и "моего" варианта компилятором avr-gcc и иду в метро разницу смотреть. - ReAl(07.03.2006 19:55, )
- да, на первый взгляд это эквивалентно, согласен. НО..бл@ть, извиняюсь, как завернуто!!!:)) - Romario(07.03.2006 19:58, )
- Как-то в инете напоролся на подобную штуку, засунул в ИАР АВРовский... she(306 знак., 07.03.2006 20:20, )
- а для 32 битника этот вариант даже лучше. 1 раз сделал табличку по переходу на case и в цикле. однако, имхо, этот код из разряда tips & tricks - Romario(07.03.2006 20:49, )
- Дело не в разрядности... she(800 знак., 07.03.2006 22:50, )
- да, пардон. под 32 битником я имел ввиду более ''правильные'' компилеры и более мощную архитектуру проца. и этот код для них ничем не отличается с goto. - Romario(08.03.2006 13:10, )
- Просто он сделал switch как раз через табличку и IJUMP ReAl(535 знак., 08.03.2006 12:35, )
- Дело не в разрядности... she(800 знак., 07.03.2006 22:50, )
- а для 32 битника этот вариант даже лучше. 1 раз сделал табличку по переходу на case и в цикле. однако, имхо, этот код из разряда tips & tricks - Romario(07.03.2006 20:49, )
- Как-то в инете напоролся на подобную штуку, засунул в ИАР АВРовский... she(306 знак., 07.03.2006 20:20, )
- да, на первый взгляд это эквивалентно, согласен. НО..бл@ть, извиняюсь, как завернуто!!!:)) - Romario(07.03.2006 19:58, )
- мда. не знал, что такое в си можно делать. постараюсь забыть этот трюк и никогда не использовать bialix(391 знак., 08.03.2006 01:59, )
- есть такой термин? я про него не в курсе:) - Romario(07.03.2006 19:52, )
- Не, ниагарсикй водопад - это из анекдота про ушастых туземцев и их вождя с шишкой на лбу. - ReAl(07.03.2006 19:56, )
- (ччёрт, enter не вовремя нажал) - в смысле классическая (в некотором смысле "типовая" - см соседний тред "без претензии на флейм") конструкция switch/do-while ReAl(1710 знак., 07.03.2006 19:53, )
- sz на входе произвольное? - ReAl(07.03.2006 19:13, )
- нет конечно, макс 256 байт. для упакованных это будет 224. ну вот енкодер если что (без goto:)) Romario(1790 знак., 07.03.2006 19:18, )
- А вот это ты зря :-) Тебе надо было сюда кинуть, скажем, только верхний комментарий из того кода и словесное описание "чего надо" ReAl(150 знак., 07.03.2006 19:10, )
- p.s. Romario(354 знак., 07.03.2006 18:39, )
- Попытался отрешиться от твоего кода и прикинуть - а как бы я решал эту задачу. ReAl(3880 знак., 08.03.2006 20:37, )
- ok Romario(2434 знак., 07.03.2006 18:24, )
- Ключевое слово ПРОДЖУМАНО. А romario в исходном посте написал ReAl(78 знак., 07.03.2006 18:11, )
- речь не о логике ВСЕЙ ПРОГРАММЫ, речь о некоторых вспомогательных, мелких, процедурках. - Romario(07.03.2006 15:49, )
- Чем продседура мельче - тем проще ее "вылизать". А уж коль с мелкой не получается нефиг за крупные браться.. Нельзя за спиной недобитых врагов оставлять... - MDenis(07.03.2006 16:37, )
- Вы наверное никогда не писали крупных проектов. Вылизывание _работающей_, но не "красивой" мелочи приводит к увеличению времени разработки до перевернутой 8, зато можно гордиться тем, Romario(168 знак., 07.03.2006 16:54, )
- Тут ещё бабуля на двое сказала ! miv(303 знак., 07.03.2006 18:00, )
- кто хотел, тот понял про частоту вызовов, критичность выполнения и прочее. - Romario(07.03.2006 18:08, )
- Да всё понятно ! Прегибы везде не здорого ! - miv(07.03.2006 18:20, )
- Пардонте ! Ну совсем устал ! Перегибы везде не здорово ! =)))) - miv(07.03.2006 18:21, )
- Да всё понятно ! Прегибы везде не здорого ! - miv(07.03.2006 18:20, )
- кто хотел, тот понял про частоту вызовов, критичность выполнения и прочее. - Romario(07.03.2006 18:08, )
- +1 - bialix(07.03.2006 17:21, )
- На мой взгляд - сами по себе те слова очень правильные, но как оправдание "по быстрячку goto напихать" - нет. - ReAl(07.03.2006 18:09, )
- Что за "+1" ? - MDenis(07.03.2006 17:30, )
- Ответ: bialix(77 знак., 07.03.2006 17:34, )
- Жжош, аццкий сотона! :)) - AVR(08.03.2006 14:16, )
- выпей йоду - bialix(08.03.2006 15:03, )
- Жжош, аццкий сотона! :)) - AVR(08.03.2006 14:16, )
- Ответ: bialix(77 знак., 07.03.2006 17:34, )
- Тут ещё бабуля на двое сказала ! miv(303 знак., 07.03.2006 18:00, )
- Вы наверное никогда не писали крупных проектов. Вылизывание _работающей_, но не "красивой" мелочи приводит к увеличению времени разработки до перевернутой 8, зато можно гордиться тем, Romario(168 знак., 07.03.2006 16:54, )
- Чем продседура мельче - тем проще ее "вылизать". А уж коль с мелкой не получается нефиг за крупные браться.. Нельзя за спиной недобитых врагов оставлять... - MDenis(07.03.2006 16:37, )
- это уже религиозное... иногда, чтобы написать алгоритм "чисто" нужно потратить больше времени на кодирование и в результате получить менее оптимальный код. bialix(158 знак., 07.03.2006 16:40, )
- Ещё раз - на мой взгляд, если быстро не сочиняется нужная структура - значит недообдумана ЛОГИКА РАБОТЫ программы (на фазе "до кодирования"), и она работать будет ПЛОХО. - ReAl(07.03.2006 15:46, )