Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 18 gru 2024, o 23:34


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
Autor Wiadomość
PostNapisane: 13 lut 2012, o 10:38 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 lut 2012
Posty: 155
Lokalizacja: PL, DE, UK, IRL
Pomógł: 3

Ok, jako nowy w nowym środowisku, tak zachwalanym zaczynam dostrzegać jego mankamenty ;-)

Dość mocno irytuje mnie:

1. Mam projekt, składający się z 3 plików: main.c, uart.c, uart.h
Wszystko ładnie śmiga, kompiluje się, na procku działa raczej dobrze ;-)

2. Wprowadzam zmiany w funkcjach obsługi uarta, czyli edytuję plik uart.c
klikam na "Build"

i wyskakują warningi

Jeśli przed kliknięciem build podświetlę (kliknę) na nazwę projektu w 'Project Explorer' i potem Build to wszystko się kompiluje bez błędu.

Nie bardzo kumam czemu tak się dzieję, skoro otwarty aktualnie mam tylko jeden projekt, ten nad którym pracuję. Żadne z opcji Build nie rozwiązują sytuacji, ani Build All, ani Build Project.
Zrozumiałbym, że samo build, tuż po edycji wewnętrznego pliku wymuszałoby skompilowanie tylko tego pliku czyli uart.c, co mogłoby powodować jakieś tam błędy braku powiązania, ale czemu opcja Build All, albo Build Project nie rozwiązuje sprawy kompilacji całości?

Może mam coś źle poustawiane, czy taki urok eclipse?


PS. ok, jeszcze jedna ciekawa właściwość. Po tej kompilacji w której wyskakują warningi, jeśli każe skompilować ponownie, wszystkie zastrzeżenia znikają. Czemu dwukrotna kompilacja rozwiązuje problem?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lut 2012, o 12:10 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27319
Lokalizacja: Szczecin
Pomógł: 1041

Witam,

No niestety tak to bywa, że gdy czegoś nie rozumiemy do końca jak działa to jednych to irytuje i rzucają to w kąt uważając że "to coś zawiera oczywiście błędy" a inni poszukują informacji jak sobie z tym poradzić i lepiej zrozumieć. Wybór należy do kolegi przecież nikt na siłę nie nakazuje korzystać z Eclipse.

Zacznę od końca, druga kompilacja gdy znikają warningi wcale nie rozwiązuje sprawy !!! BŁĄD - po prostu skoro programista widzi warningi i ma je gdzieś i puszcza drugi raz kompilację to wręcz prosi kompilator "ty chłopie daj mi spokój już z tymi swoimi głupimi warningami!" .... i po kompilacji już ich nie widzisz. A zobaczysz je dopiero gdy zrobisz opcję CLEAN i ponownie Build wszystkiego od początku.

Nie rozumiem za bardzo jak można zgłaszać taki problem i napisać tylko, że po jakichś zmianach pokazują się warningi..... ale co to znaczy - toż to jest NAJWIĘKSZA zaleta Eclipsa że pięknie pokazuje warningi. Jeśli komuś to nie odpowiada to wystarczy uwstecznić się i przesiąść się na Programmers Notepad i proszę - nigdy nie zobaczysz żadnych warningów w oknie edytora - będziesz musiał sam przeglądać log z procesu kompilacji.....

Reasumując te problemy, które opisujesz i które cię irytują to nie są żadne problemy - tylko fakt, że nie przyjmujesz do wiadomości że kompilacja w języku C jest wieloetapowa. Dlatego często jeśli się wykona drobną zmianę w jakimś podrzędnym małym pliku projektu to konieczne wręcz bywa użycie opcji CLEAN ponieważ kompilator może uznać przez przypadek, że zmiana nie wpłynęła na tyle, żeby ponownie tworzyć pliki przejściowe (object files), ......

taki niebezpieczny efekt praktycznie ZAWSZE występuje gdy np zmienimy w opcjach projektu częstotliwość taktowania i nie zrobimy CLEAN - wtedy pliki przejściowe nie zostaną przekompilowane tylko główny main - a w efekcie program będzie się w durny sposób zachowywał - no a oczywiście programista, który nie wie jak to się odbywa będzie zaraz oskarżał ECLIPSE że mu coś psuje :(

I nie mów mi że takie rzeczy nie dzieją się w innych środowiskach programistycznych jak np AVR Studio czy CodeBlocks albo nawet w innych kompilatorach (bo kompilator a środowisko to dwie różne rzeczy, których niestety ty też jeszcze nie rozróżniasz).... Bo dzieją się - tylko że są inaczej albo gorzej sygnalizowane i to ZDECYDOWANIE GORZEJ w oknie edytora niż w ECLIPSE - a potem nie wiesz skąd się dzieją takie a nie inne zachowania programu w różnych sytuacjach.

Wracając do tematu - jak chcesz żeby ci pomóc w takim temacie to wypadałoby chociaż jednego warninga podać jaki ci wyskakuje i jakiś fragment kodu programu.

Reasumując - OWSZEM - może jest drobnostka która może denerwować, że trzeba pamiętać aby w tym oknie widoku projektów, pamiętać żeby był podświetlony PROJEKT, który się ma właśnie otwarty żeby to on się kompilował - bo niechcąco można sobie kliknąć w inny i gdy puszcza się kompilację to coś leci ale nie kompiluje się nasz otwarty niby w edytorze main.c ..... no i co z tego ? ale warto się zastanowić skąd to się bierze zanim zaczniemy się irytować ! ..... to jest poważne i profesjonalne środowisko do programowania i tworzenia olbrzymich projektów składających się nie tylko z wielu plików i folderów w ramach jednego projektu ale i z większych konstrukcji tylko że na komputery PC .... masz zatem narzędzia, których mocno nie znasz i być może nigdy nie wykorzystasz albo nawet nie będziesz musiał wykorzystać z uwagi że tu pracujemy zwykle tylko na jednym projekcie ..... Zatem reasumując pewnie, że jak człowiek przyzwyczai się jeździć przez całe życie maluchem a nagle wsiądzie do najnowszego modelu BMW naszprycowanego elektroniką to będzie go wszystko irytowało czego nie zna .....

Ja nie na darmo zachwalam Eclipse i nie z punktu widzenia młodocianego programisty, który od roku czy dwóch coś tam sobie pisze czasem. Ja programuję panie kochany od 20 lat i to bardzo duże projekty na PC ... nie piszę tego żeby się chwalić czy wykazać swoją wyższość bo być może wiem mniej od ciebie .... ale piszę to dlatego, że dla mnie po tylu latach ciężkiej pracy w programowaniu dzień w dzień po 12-16 godzin liczy się komfort narzędzi jakimi się posługuję. Na PC-tach chwalę sobie najbardziej edytory i narzędzia byłego Borlanda teraz Embarcadero ..... to są mercedesy. Gdy zaczynałem pracę na AVRkach i na początku zetknąłem się z AVR Studio to i tak się cieszyłem że jest coś lepszego niż głupawy programmers notepad - a i tak do dzisiaj mnóstwo ludzi w nim pisze programy bo twierdzą że jak na ich potrzeby to on wystarczy i dobrze..... Ale jak poznałem Eclipse - to od razu wiedziałem że to jest TO!

Wprawdzie AVR Studio 5 zaczęło iść mocno w stronę rozwoju no bo nie ma co ukrywać, że korzysta już z silnika edytora MS Visual Studio (nie ważne czy go lubię czy nie) to ma on już ogromne zalety w porównaniu do AVR Sudio4 i można powiedzieć że ma nawet kilka lepszych opcji niż w Eclipse ale co z tego - skoro zawiera tyle błędów że o kant nie powiem czego można rozbić tą wersję 5 .....

Ale pisałem już o tym wszystkim na swoim blogu:

http://mirekk36.blogspot.com/2011/11/dl ... tudio.html

więc tu nie będę się powtarzał.

NA SAM KONIEC ------------> proponuję na spokojnie podziałać, dopytać się jeszcze o szczegóły ale podając więcej informacji żeby można było ci pomóc - zamiast się irytować - to będzie dużo lepiej ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lut 2012, o 13:00 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 lut 2012
Posty: 155
Lokalizacja: PL, DE, UK, IRL
Pomógł: 3

Powoli i spokojnie. Nie oskarżam Cię o szerzenie zła ani tym bardziej w żaden sposób Cie nie atakuję, wręcz przeciwnie, jako początkujący zgłaszam się z problemem do kogoś doświadczonego, z prośbą o radę. Wiem, że dla większości mój problem może być idiotyczny i wynikać z mojego niezorientowania, ale od tego jest forum żebym zapytał, a nie koniecznie wyważał wszystkie drzwi, które już setki osób przede mną otworzyły.

1. Wiem, że kompilacja jest przebiegiem paro etapowym, przez linkery i inne.

dlatego też po opcji: "Build All" spodziewałbym się pełnego procesu kompilacji (ze wszystkimi wymaganymi etapami -ale może moje niedoświadczenie mylnie każe mi interpretować słówko "all").

2. Po pierwszej kompilacji, świeżo utworzonego projektu nie było żadnych warningów, dopiero po edycji jednego z plików projektu i puszczeniu kompilacji warningi się pojawiły.
edycji nic nie znaczącej z punktu widzenia składni projektu np. zmiana prędkości transmisji z 38400 na 9600. Ok teraz już wiem, że trzeba kliknąć CLEAN, ale tak jak w pkt 1. myślałem,że opcja Build All załatwia wszystko od A do Z.

Ponieważ są warningi, to chciałbym się ich pozbyć, a nie zamknąć oczy, żeby ich nie widzieć.

Mam otwarty jeden projekt w całym obszarze worksapce, stąd moje zaskoczenie, że muszę podświetlać ten projekt aby dokonać jego pełnej kompilacji.

Rozróżniam kompilator od środowiska i nigdzie nie twierdziłem, że w AVRStudio taki problem nie występuje.


Co do warningów to okazały się słuszne i opcja zaznaczania projektu klikania build All wykonywała właśnie takie maskowanie o którym wspomniałeś. No i tego nie mogę pojąć, czemu opcja Build All, czy Build Project go tak na prawdę nie buduje od początku?

Podsumowując, po każdej wprowadzonej zmianie, w czymkolwiek w projekcie, aby uniknąc takiego "maskowania warningów" muszę:
1. Zaznaczyć projekt
2. Kliknąć Project/ Clean /Clean all projects/ ->OK
3. kompilacja sie juz wykkonuje automatycznie?



Ostatnio edytowano 13 lut 2012, o 13:23 przez marthinek, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lut 2012, o 13:23 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27319
Lokalizacja: Szczecin
Pomógł: 1041

Posłuchaj, ustalmy po pierwsze, że ani ja nie potraktowałem twojej wypowiedzi, że mnie atakujesz - ani mam nadzieję ty podobnie nie odbierasz mojej .... mam nadzieję, że jak się poznamy na tym forum albo poczytasz moje inne posty, to zobaczysz, że po prostu mam taki jakiś żarliwy zapał do takich opisów ;)

Pewnie, że po to jest to forum, żeby się dowiedzieć a ja zawsze chętnie pomogę - aczkolwiek już wiesz, że zawsze te moje żarliwe wypowiedzi bywają prowokowane zrzucaniem winy na kompilator czy środowisko. I nie gniewaj się, że czasem domyślam się źle być może że czegoś tam wiesz czy nie wiesz, albo czy rozróżniasz czy nie ... niczego ci nie zarzucam. Natomiast odpowiadam na to co widzę i czytam, a po sposobie zadanego pytania czasem się domyślam czego ktoś nie wie ..... (ale to nie oznacza że tak musi być) .....

Build ALL - w Eclipse służy pewnie jak zauważyłeś do zbildowania wszystkich projektów tych które są po lewej stronie a nie wszystkich plików projektu. W tym także twojego otwartego projektu - ale ta opcja to nie to samo co CLEAN + Build. Bo tak ma Eclipse i jak się już o tym wie - to potem to nie irytuje. Za to szybko w przyzwyczajenie wchodzi klawisz Build albo Clean z ustawioną opcji natychmiastowego Buildu (bo można) tylko trzeba uprzednio wyłączyć opcję "Build automaticaly". Jeśli więc coś nie działa tak jak w AVR Studio to nie ma co się denerwować bo sam powiedz ile naraz projektów mogłeś mieć otwartych w AVR Studio ????? NO WŁAŚNIE TYLKO JEDEN prawda ? Więc tam taka opcja Build All z definicji działa inaczej niż w Eclipse. A o tym, że w Eclipse można mieć otwartych wiele projektów naraz to chyba już się przekonałeś jaka to potężna możliwość. Nawet durne AVR Studio 5 nie ma takiej opcji!

I teraz uwaga - to co tobie się WYDAJE, że dokonujesz zmiany małoistotnej z punktu widzenia projektu to nie oznacza że tak jest w ISTOCIE. Wręcz bardzo się mylisz - bo zmiana prędkości BaudRate często może nie zadziałać właśnie bez CLEAN !!!

Dlatego zamiast stosować jakieś kalki myślowe czy przyzwyczajenia z AVR Studio warto wykazać cierpliwość i uczyć się nowego albo nowych tym razem już normalnych zasad pracy z projektami. Czym szybciej tym przecież lepiej dla ciebie.

Czyli wracając do tematu twoich pytań....

jeśli przypadkiem klikniesz drugi raz BUILD i znikną ci warningi a chciałbyś znowu je zobaczyć to wystarczy tylko jeszcze raz opcję CLEAN puścić i już je masz - i już możesz je usuwać aż do końca ;)

Mam nadzieję, że teraz będzie jaśniej i lepiej się pracować z Eclipse.

A jak coś to śmiało pytaj - na mnie na tym forum zawsze możesz liczyć.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lut 2012, o 13:26 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27319
Lokalizacja: Szczecin
Pomógł: 1041

marthinek napisał(a):

Podsumowując, po każdej wprowadzonej zmianie, w czymkolwiek w projekcie, aby uniknąc takiego "maskowania warningów" muszę:
1. Zaznaczyć projekt
2. Kliknąć Project/ Clean /Clean all projects/ ->OK
3. kompilacja sie juz wykkonuje automatycznie?


Jeśli sobie klikniesz te opcje które zaznaczyłem na czerwono to TAK - po cleanowaniu buildowanie wykona się już automatycznie i nie będzie trzeba drugi raz klikać w build

Obrazek

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lut 2012, o 13:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 lut 2012
Posty: 155
Lokalizacja: PL, DE, UK, IRL
Pomógł: 3

ok, no i spoko, wszystko w miare jasne. to co napisałem o tej irytacji w pierwszym poście wynikało tylko z tego, że miałem przyzwyczajenia z innych kompilatorów. tutaj widzę, że "tradycyjny skrót" -kompiluj F7, trzeba ustawić na opcję Clean.

jak połączyć teraz opcję Clean z automatycznym czyszczeniem aktualnego projektu i kompilacją całości, tak żeby to okienko z opcjami Clean nie wyskakiwało i można było cały projekt przygotować za pomocą jednego wciśnięcia np F7 ;-) da się?

PS. poustawiałem, tak jak pokazałeś, ale cały czas wyskakuje okienko Clean ;-)
cóż trzeba się chyba pogodzić z opcją F7 + Enter



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lut 2012, o 14:29 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27319
Lokalizacja: Szczecin
Pomógł: 1041

No tak - można sobie ustawić dowolny skrót klawiszowy do wywołania Clean, żeby nie trzeba było myszkować po MENU ale niestety to okienko się pojawia i trzeba wtedy już ręcznie popchnąć dalej ;)

A przydałoby się, żeby kliknąć tylko skrót i samo poleci .... może i można to gdzieś jeszcze w opcjach ustawić ale nie miałem więcej czasu żeby poszperać i poszukać.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lut 2012, o 15:11 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 lut 2012
Posty: 155
Lokalizacja: PL, DE, UK, IRL
Pomógł: 3

ok, opcja tego "F7" + późniejszy "Enter" jest do przyjęcia ;-)

już się bałem, że mnie znowu opieprzysz, za to że chce coś automatyzować i dopuszczać się jakichś procesów odbywających się poza świadomością programisty ;-), a ja po prostu nie lubię zabaw myszką.

<mały offtop>
A przyzwyczajenie drugą naturą człowieka i odkąd zacząłem w podstawówce się uczyć środowiska Turbo Pascala (jakieś 15 lat temu) to, to F7 zostało (tak wiem, w Turbo skrótem od kompilacji było chyba F9). Tak samo zresztą jak do tej pory posługuje się Windows Commanderem jako następca Norton Commandera, a nie kopiowaniem metodą przeciągnij i upuść. Wciskanie "F5", czy "F6", albo "Shift+F4" żeby utworzyć nowy plik tekstowy jest zdecydowanie wygodniejsze i szybsze niż generowanie kilometrów przebiegu kursorem myszki </mały offtop>


Cytuj:
Bo tak ma Eclipse i jak się już o tym wie - to potem to nie irytuje.


teraz już wiem, ale skąd miałem to wiedzieć po pierwszym uruchomieniu środowiska? w filmiku o tym nie wspomniałeś, albo mi się nie utrwaliło



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lut 2012, o 15:31 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27319
Lokalizacja: Szczecin
Pomógł: 1041

Nie, no jeśli odebrałeś coś jako opieprz ;) to bardzo przepraszam - nie było to moim celem - poważnie.

A co do przyzwyczajeń to masz rację - one potrafią być silne .... ale cóż, czasem trzeba się przestawić. Ja tam np z kolei nie mogę się nigdy przestawić tylko na działanie na skrótach klawiszowych - jednak lubię okienka i czasem "po-myszkować" myszką ;) ... Może dlatego tak trudno mi się już nauczyć linuxa bo tam to dopiero wszystko trzeba tekstowo ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lut 2012, o 23:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 lut 2012
Posty: 155
Lokalizacja: PL, DE, UK, IRL
Pomógł: 3

spoko, aż taki wrażliwy nie jestem ;-)

zadaje idiotyczne pytania, to się nie ma co dziwić że jestem irytujący ;-)

Pozdrawiam i dzięki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO