testerplus (23.03.2009 19:56, просмотров: 142) ответил fk0 на Дайте идей нахаляву. Как бы ручками оптимизить код с целью уменьшения размера. pic18, hitech-c, STD версия (9.51pl2, если не ошибаюсь). Насколько я понимаю, IAR не лучше, CCS -- сасёт (пробовал, ужос). В листинги тоже смотреть страшно, софт написан с
1) К часто используемым переменным добавь квалификатор near. 2) Избавься от вызовов функций в прерываниях (сильно сократится код сохранения контекста)
3) Замени, где можно, операции с float на int (например "a = a * 1.5" на "a = a * 3 / 2")
4) Обращения к байтам в long'ах (или int'ах) делай через конструкцию *((char*)&L+0), *((char*)&L+1) ...
5) Если есть операции "~", "+", "-" над char'ом, то нужно помнить, что их результат - двухбайтовый, следовательно, спсасет приведение типов (типа "if ((char)a-b < 10)...")
6) Какие-то часто повторяющиеся куски кода можно засунуть в функции.
7) Обработка небольших массивов в цикле часто занимает больше места, чем последовательная работа с каждым элементом (для примера - обнуление массива из 10 char'ов)
Ну, и по месту еще надо смотреть.