| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Намаляване размера на кода http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=5218 |
Страница 1 от 1 |
| Автор: | GTN [ Пон Дек 17, 2007 12:42 am ] | ||||||||||||||||||
| Заглавие: | Намаляване размера на кода | ||||||||||||||||||
Здравейте След помощта на съфорумниците успях да подкарам флоат аритметиката. MPLABa все още не успявам да го накарам константите да ги изкарва правилно но поне променливите излизат вярно. И sprintf() работи. Голямо улеснение. Всичко е наред, програмата си работи ОК. Обаче на прототипския процесор. А той е с памет за 8000 инструкци. В момента използвам ≈3500инструкции. Всички оптимизации са включени. Дали ще е възможно да намаля кода на програмата като изключа по някакъв начин функциите които не се използват. Примерно:
Това ми е началото на програмата:
Забелязвам че примерно като изтрия функциите за закъснение от delay.c, който не ползвам, размера на кода намалява. Не знам дали със math.h и stdio.h ще се получи същият ефект. А иначе доста функции не се използват. Използвам HI-TECH PICC 9.50. Предварително благодаря на всички отговорили |
|||||||||||||||||||
| Автор: | milenjs [ Пон Дек 17, 2007 9:33 am ] |
| Заглавие: | |
Не съм светило в С-то но предполагам че неизползваните функции не се включват в кода и не се компилират, поне по мои наблюдения, иначе щеше да е тъпо |
|
| Автор: | lucifer [ Пон Дек 17, 2007 5:03 pm ] |
| Заглавие: | |
Както казва milenjs функциите от библиотеките, които не се използват не се компилират и не трябва да влияят на размера на кода. Моят компилатор не вади дори warning. В случай, че сам съм писал някакви функции и след това не ги извиквам, компилатора предупреждава, но отново не ги компилира. |
|
| Автор: | woody [ Пон Дек 17, 2007 5:31 pm ] |
| Заглавие: | |
@lucifer: Надявам се използваш глагола "компилирам" в оригиналното му значение, а не текущото (всеизвестно), иначе твърдението ти е грешно. |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|