RTV forum PL | NewsGroups PL

BASCOM vs AVRGCC - Które kompilacje dają mniejszy kod i dlaczego?

BASCOM vs AVRGCC - objętość kodu

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - BASCOM vs AVRGCC - Które kompilacje dają mniejszy kod i dlaczego?

Michał T
Guest

Thu Mar 09, 2006 9:00 am   



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?

JJJK
Guest

Thu Mar 09, 2006 9:25 am   



Michał T <lotnick@NOSPAMepf.pl> napisał
Quote:
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 Wink
Ale za to jak wygodnie obsluguje sie stringi, port szeregowy i LCD Smile
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

Michał T
Guest

Thu Mar 09, 2006 10:09 am   



Quote:
Bywaja.
Bierz poprawke na to, ze Bascom standardowo kompiluje
do kodu wynikowego wiele funkcji, z ktorych czasami nie korzystasz Wink
Ale za to jak wygodnie obsluguje sie stringi, port szeregowy i LCD Smile
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?)

JJJK
Guest

Thu Mar 09, 2006 10:22 am   



Michał T <lotnick@NOSPAMepf.pl> napisał
Quote:
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.

Quote:
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

Adam Dybkowski
Guest

Thu Mar 09, 2006 9:12 pm   



Michał T napisał(a):

Quote:
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.

Guest

Sat Mar 11, 2006 5:55 pm   



JJJK wrote:
Quote:
Michał T <lotnick@NOSPAMepf.pl> napisał
Bywaja.
Bierz poprawke na to, ze Bascom standardowo kompiluje
do kodu wynikowego wiele funkcji, z ktorych czasami nie korzystasz Wink
Ale za to jak wygodnie obsluguje sie stringi, port szeregowy i LCD Smile

Wygodnie? Ja np. nic z tego nie rozumiem ;)


Quote:
W C masz nad tym panowanie.
Ale jak uzyjesz chocby tylko przyslowiowego standardowego
printf to mina ci sie wyciagnie.


Dlaczego?


Generalnie: na poznaniu C nie da sie stracic! Smile

JJJK
Guest

Tue Mar 14, 2006 12:53 pm   



arkadiusz.antoniak@wp.pl <arkadiusz.antoniak@wp.pl> napisał
Quote:
JJJK wrote:
Michał T <lotnick@NOSPAMepf.pl> napisał
Bywaja.
Bierz poprawke na to, ze Bascom standardowo kompiluje
do kodu wynikowego wiele funkcji, z ktorych czasami nie korzystasz Wink
Ale za to jak wygodnie obsluguje sie stringi, port szeregowy i LCD Smile
Wygodnie? Ja np. nic z tego nie rozumiem Wink

LCD "Hello world"

czego nie rozumiesz?

Input " Wpisz zdanie", zdanie

tutaj tez nic? ;)

slowo = mid(zdanie, 1, 20)

Print "::"; slowo ; "::"

ciągle nic? ;)


Quote:
W C masz nad tym panowanie.
Ale jak uzyjesz chocby tylko przyslowiowego standardowego
printf to mina ci sie wyciagnie.
Dlaczego?

Och, tyle już o tym było....
Ano dlatego, że jak sam napiszesz sobie podobną funkcję
to masz dokładnie to co chciałeś. Czasmi kilkanaście/dziesiąt bajtów
Naprawdę widziałeś ile potrafi taka standardowa funkcja
wbudowana w bilioteki dołączone do niektórych kompilatorów?
To dlaczego się dziwisz?
Pokompiluj sobie trochę.
Zresztą, w tej chwili jakie to ma znaczenie?
Masz setki kilobajtów FLASH'a.
Na palcach jednej ręki policze takich, którym jest mało ;)

Quote:
Generalnie: na poznaniu C nie da sie stracic! Smile

A kto napisał, że to jest jakaś strata ? Smile
Bascom i C to różne narzędzia.
I tyle.

JJK

elektroda NewsGroups Forum Index - Elektronika Polska - BASCOM vs AVRGCC - Które kompilacje dają mniejszy kod i dlaczego?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map