Witam,
może dziwny tytuł mojego pytania ale już mówię co chciałbym uzyskać a nie mogę:
otóż mam już własne pliki z funkcjami do obsługi LCD:
- lcd.h
- lcd_hardware.h
- lcd.c
oczywiście do pliku głównego z funkcją main dodaję pliki nagłówkowe *.h a do pliku projektu lcd.c i wszystko ślicznie działa. Jednak widzę, że kompilują mi się funkcje zdefiniowane w pliku lcd.c, które nigdy nie są np używane!
mam np funkcję lcd_cursor_on - jej ciało leży w lcd.c , a jej deklarację mam jeszcze w pliku lcd.h
i teraz wyraźnie widzę, że gdy nie używam nigdzie funkcji lcd_cursor_on to kod wynikowy ma dokompilowaną pomimo to, tę funkcję. Dopiero ggdy ją zaremuję w lcd.c to kod generuje się mniejszy.
chyba da radę jakoś za pomocą - nie wiem - extern czy jakoś ustawić to tak aby do kodu wynikowego kompilowały się tylko użyte w nim funkcje???
używam tandemu AVRStudio oraz GCC
pozdr
może dziwny tytuł mojego pytania ale już mówię co chciałbym uzyskać a nie mogę:
otóż mam już własne pliki z funkcjami do obsługi LCD:
- lcd.h
- lcd_hardware.h
- lcd.c
oczywiście do pliku głównego z funkcją main dodaję pliki nagłówkowe *.h a do pliku projektu lcd.c i wszystko ślicznie działa. Jednak widzę, że kompilują mi się funkcje zdefiniowane w pliku lcd.c, które nigdy nie są np używane!
mam np funkcję lcd_cursor_on - jej ciało leży w lcd.c , a jej deklarację mam jeszcze w pliku lcd.h
i teraz wyraźnie widzę, że gdy nie używam nigdzie funkcji lcd_cursor_on to kod wynikowy ma dokompilowaną pomimo to, tę funkcję. Dopiero ggdy ją zaremuję w lcd.c to kod generuje się mniejszy.
chyba da radę jakoś za pomocą - nie wiem - extern czy jakoś ustawić to tak aby do kodu wynikowego kompilowały się tylko użyte w nim funkcje???
używam tandemu AVRStudio oraz GCC
pozdr
