- Именно этого я и хотел, чтобы без лишних переменных. И я и подозревал, что компилятор так и сделает, передаст в регистры. Mazur(281 знак., 07.09.2013 17:46, dao, полностью)MBedder
- if(!proc_timer(ST_LED)){ - Скрипач(07.09.2013 21:23)
- Угу. - Mazur(07.09.2013 21:24)
- На счет регистра с возвращаемым значением. Тут не компилятор это дело решает в каждом отдельном случае, а регистр для этой цели застолблен в данном компиляторе навечно. Т.е. вы можете запомнить, через какой регистр(ы) передавливается u8 (u16), а Ксения(268 знак., 07.09.2013 18:16)
- Сброшенный флаг обычно проверяют так: if (~proc_timer(ST_LED) & (1<<0)), здесь оператор ~ изменяет все биты числа на обратные. - Ксения(07.09.2013 18:05)
- Ну, так, опять же, если иметь в виду "мелочную" оптимизацию, то данный вариант не является Bill(161 знак., 07.09.2013 18:12)
- Оставьте оптимизацию компилятору. В данном, конкретном, случае он справится. - Скрипач(07.09.2013 19:59)
- Нет! В данном случае не справится. ;) - Bill(07.09.2013 22:21)
- Это "вычисление констант на этапе компиляции". Инверсию перенесет в константу. Или нет? - Скрипач(07.09.2013 22:24)
- В том-то и дело, что нет. Вызов функции - не есть константа. - Bill(08.09.2013 00:34)
- Ваши сведения устарели. Включите режим "multifile compilation", "link time optimization" или как оно там называется в вашем компиляторе. А если нет такого режима, то сочувствую. - SciFi(08.09.2013 00:47)
- Вообще-то, у меня IAR AVR V5.51. А у вас какой? Да и потом, Bill(145 знак., 08.09.2013 00:56)
- Ну и зря не надеетесь на компилятор. Компилятор - друг программиста. Без друзей тяжко. SciFi(181 знак., 08.09.2013 01:01 - 01:03)
- Ну, во-первых, я со своим компилятором давно дружу, и он меня не подводит. А во-вторых, как следствие Bill(331 знак., 08.09.2013 01:13)
- "все получается автоматически". А что именно получается? - SciFi(08.09.2013 01:15)
- Оптимизация, естественно. Bill(122 знак., 08.09.2013 15:02 - 15:15)
- Вопрос: сколько было проектов, которые без этой оптимизации не работали? - SciFi(08.09.2013 15:43)
- Было три проекта, в которых мне пришлось заняться оптимизацией вручную. В одном - не хватало памяти, в двух других - скорости. - Bill(08.09.2013 15:56 - 16:28)
- А если в процентах? По Кнуту должно выйти 3% :-) - SciFi(08.09.2013 17:35, ссылка)
- С этим можно соглашаться, а можно и не согласиться. Тут все зависит от того, что именно Bill(387 знак., 08.09.2013 17:55)
- Во! В точку. Эффективное программирование. Спасибо, что за меня сказали. - Mazur(08.09.2013 18:13)
- Рано радуетесь. Эффективность каждый понимает по-своему. SciFi(252 знак., 08.09.2013 18:17)
- 1 - Тут всего лишь тот момент, что за меня сказали то, чего вы бы от меня не приняли. Типа "ты сначала хоть как-то научись программировать, потом уже можешь говорить об эффективном программировании". Mazur(201 знак., 08.09.2013 18:37)
- Ну, так, опять же, тут палка о двух концах. Что значит "убил несколько дней"? Еще раз повторю: я не занимаюсь оптимизацией специально. Я просто использую приемы, позволяющие создавать достаточно эффективные программы. И эти приемы ни от языка, ни Bill(627 знак., 08.09.2013 18:36)
- В компиляторах проф. уровня такого нет. - fk0(08.09.2013 00:48)
- Если при сброшенном флаге вам ничего другого делать не надо, то оставьте так, как есть. Часть else не является обязательной. - Ксения(07.09.2013 18:01)
- По последнему примеру я пробовал до этого так делать. Только компилер ничего в этом случае не компилит. То есть, этого куска кода просто нет. - Mazur(07.09.2013 18:01)
- :)) Bill(107 знак., 07.09.2013 17:58)
- Какие есть варианты в Си из числа unsigned int16 получить в две переменных unsigned char отдельно старший и отдельно младший байт, кроме структуры и union? AU08(151 знак., 08.09.2013 02:11, dao, полностью)
- А теперь хотел бы понять особенности приведенных вами примеров. Напоминаю, си только начал изучать. И поэтому хотел бы понять нюансы. Я пока на стадии "лампочками поморгать". Бегущие огоньки по кругу заработали на следуюшем коде: Mazur(702 знак., 06.09.2013 08:49 - 08:53, dao, полностью)MBedder
- Так сказать, дебют. Покритикуйте. Понимаю, что элементарщина, но ... :) Mazur(390 знак., 05.09.2013 19:37, dao, полностью)MBedder
- Душа опять просит извращений... можно ли как-то быстро конвертнуть PCI на старой пром. мамке в AGP для старой восьмиметровой Vanta LT? - Николай Коровин(06.09.2013 00:39, dao, полностью)
- самый маленький массовый линукс с вайфаем. Я был уверен, что там 5 чипов внутри - нор, нанд, сдрам, цпу и радио. Оказалось всего 4 - ig_z(04.09.2013 00:34, dao, ссылка, полностью)
- про тексасовские Safety MCU (Hercules) Cortex-R4 презенташка, там еще обзор всяческих IEC и ISO до кучи. специально для Евгения - yes_np(05.09.2013 19:51, dao, ссылка, полностью)
- Вот смотрю я на все эти самсунгочасоанонсы -> и в осадок выпадаю. Концептуальный. ЗАЧЕМ они так сделали? Ахренеть, часикам с экраном 320 x 320 пикселей надо 512М ОЗУ и 800 Мгц CPU. Evgeny_CD(559 знак., 05.09.2013 16:30, dao, ссылка, полностью)
- Бука Chu P.P. Embedded SoPC design with NIOSII processor and Verilog examples -> 1120415.pdf в местных закромах. - Evgeny_CD(04.09.2013 18:06, dao, ссылка, полностью)
- Ысче адын "linux в спичечном коробке" 2x2x2 inch -> - Evgeny_CD(04.09.2013 19:58, dao, ссылка)
- Для Evgeny_CD на заметку. О защите от воровства. fk0(2741 знак., 03.09.2013 15:58 - 16:01, dao, полностью)
- Две книги по Garbage Collection -> --> Пока найти не удалось. Может, кто будет более удачлив, чем я? Evgeny_CD(171 знак., 30.08.2013 12:35, dao, ссылка, ссылка, полностью)
- AMD раскрыла детали о первых серверных ARM-процессорах -> Однако, какое предательство в стане x86 :) Так скоро и Интель начнет Cortex клепать по 14 нм :) - Evgeny_CD(18.06.2013 11:32, dao, ссылка, полностью)
- Ну че? Еще немного вроде ждать Delphi XE5? Как то напрягает долгое топтание на месте и отсутствие всяческих "бета". Да и сама среда после D7 монстро-NETо-эклипсообразная стала... Будем надеяться, что получится-таки прорыв для ведроида. - Гудвин(16.08.2013 20:58, dao, полностью)
- Imagination выпустит серверные MIPS-процессоры к концу 2014 года. Евгений? - Ruslan(31.08.2013 07:52, dao, ссылка, полностью)