BASCOM czy AVRGCC - Które kompilatory generują mniejszy kod i dlaczego?
BASCOM vs AVRGCC - objętość kodu
From: "Michał T" <lotnick_at_nospam_NOSPAMepf.pl>
Subject: BASCOM vs AVRGCC - objętość kodu
Date: Thu, 9 Mar 2006 10:00:13 +0100
Zaczyna mnie wkurzać BASCOM trochę i słyszałem, że kompilacje otrzymane z C
wychodzą mniejsze.
Czy ktoś mógłby potwierdzić? Jak to jest naprawdę? Czy objętość kodu nie
zależy jedynie od umiejętności programisty? Czy rzeczywiście wsady
otrzymywane z C są zwykle mniejsze?
From: "JJJK" <janusz_karas##_at_nospam_##poczta.onet.pl>
Subject: =?iso-8859-2?Q?Re:_BASCOM_vs_AVRGCC_-_obj=EAto=B6=E6_kodu?=
Date: Thu, 9 Mar 2006 10:25:15 +0100
Michał T <lotnick_at_nospam_NOSPAMepf.pl> napisał
Zaczyna mnie wkurzać BASCOM trochę i słyszałem, że kompilacje otrzymane
z C wychodzą mniejsze.
Czy ktoś mógłby potwierdzić? Jak to jest naprawdę? Czy objętość kodu nie
zależy jedynie od umiejętności programisty? Czy rzeczywiście wsady
otrzymywane z C są zwykle mniejsze?
Bywaja.
Bierz poprawke na to, ze Bascom standardowo kompiluje
do kodu wynikowego wiele funkcji, z ktorych czasami nie korzystasz ;)
Ale za to jak wygodnie obsluguje sie stringi, port szeregowy i LCD :)
W C masz nad tym panowanie.
Ale jak uzyjesz chocby tylko przyslowiowego standardowego
printf to mina ci sie wyciagnie.
Ale jak zalezy ci na malej objetosci kodu to w kolejnosci:
asembler, c plus wstawki asemblerowe, samo c, bascom.
JJJk
From: "Michał T" <lotnick_at_nospam_NOSPAMepf.pl>
Subject: Re: BASCOM vs AVRGCC - objętość kodu
Date: Thu, 9 Mar 2006 11:09:59 +0100
Bywaja.
Bierz poprawke na to, ze Bascom standardowo kompiluje
do kodu wynikowego wiele funkcji, z ktorych czasami nie korzystasz ;)
Ale za to jak wygodnie obsluguje sie stringi, port szeregowy i LCD :)
W C masz nad tym panowanie.
Ale jak uzyjesz chocby tylko przyslowiowego standardowego
printf to mina ci sie wyciagnie.
Ale jak zalezy ci na malej objetosci kodu to w kolejnosci:
asembler, c plus wstawki asemblerowe, samo c, bascom.
Wydaje mi się że BASCOM jest prosty i przyspiesza tworzenie programu,ale
czasem zauważam rzeczy, które mnie szokują i nie wiem czy w C miałbym te
same sytuacje. (Nie chce mi się uczyć obsługi C jeśli to zmieni tylko
nieznacznie).
Np wczoraj zauważyłem że wywołanie funkcji z przekazaniem 5 parametrów(po 1
bajcie) czyli jedna linijka zabrało mi chyba ze 200bajtów flasha.Jeśli mam
kilka takich linijek to już jest źle... Używanie DATA fajnie ogranicza
objętość kodu ale wydłuża działanie programu, bo trzeba przelecieć wszystkie
dane zanim dojdzie się do tych odpowiednich.(Chyba?)
From: "JJJK" <janusz_karas##_at_nospam_##poczta.onet.pl>
Subject: =?iso-8859-2?Q?Re:_BASCOM_vs_AVRGCC_-_obj=EAto=B6=E6_kodu?=
Date: Thu, 9 Mar 2006 11:22:32 +0100
Michał T <lotnick_at_nospam_NOSPAMepf.pl> napisał
Wydaje mi się że BASCOM jest prosty i przyspiesza tworzenie programu,ale
czasem zauważam rzeczy, które mnie szokują i nie wiem czy w C miałbym te
same sytuacje. (Nie chce mi się uczyć obsługi C jeśli to zmieni tylko
nieznacznie).
To nie tak, jak piszesz zawansowany program to w C, w brew pozorom,
jest latwiej. Nie bede sie rozpisywal nad niuansami, a jest ich sporo.
Używanie DATA fajnie ogranicza objętość kodu ale wydłuża działanie
programu, bo trzeba przelecieć wszystkie dane zanim dojdzie się do tych
odpowiednich.(Chyba?)
Trwa to niezuwazalnie szybko.
Wiele funckji bascoma jest naprawde szybkich.
Zreszta, tam gdzie jest to konieczne mozesz sobie wstawic kod asmblera.
JJJK
From: Adam Dybkowski <adybkows123_at_nospam_amwaw.edu.pl>
Subject: Re: BASCOM vs AVRGCC - =?ISO-8859-2?Q?obj=EAto=B6=E6_kodu?=
Date: Thu, 09 Mar 2006 22:12:57 +0100
Michał T napisał(a):
Zaczyna mnie wkurzać BASCOM trochę i słyszałem, że kompilacje otrzymane z C
wychodzą mniejsze.
Czy ktoś mógłby potwierdzić? Jak to jest naprawdę? Czy objętość kodu nie
zależy jedynie od umiejętności programisty? Czy rzeczywiście wsady
otrzymywane z C są zwykle mniejsze?
Tak. Program robiący to samo ale napisany w C jest mniejszy i szybszy
niż z BASCOMa.
A jak już opanujesz w miarę dobrze C to nie straszne będzie przejście z
AVRów na inne procesory gdzie BASCOM nie dotarł (np. ARM).
--
Adam Dybkowski
http://www.amwaw.edu.pl/~adybkows/
Uwaga: przed wysłaniem do mnie maila usuń "123" z adresu.