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



Teraz jest 25 kwi 2024, o 00:15


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 15 mar 2020, o 14:18 
Offline
Użytkownik

Dołączył(a): 13 mar 2013
Posty: 123
Pomógł: 1

Witam
Mam ECLIPSE 2019-12. W trakcie kompilacji programu, po lewej stronie pojawiają mi się takie śmieszne "pluskwiaki" . Wiem , iż teoretycznie służą one do podpowiedzi że coś zostało zrobione nieprawidłowo i po najechaniu na nie myszką powiadamiają nawet o co chodzi , ale czasem pisząc program celowo chcemy coś wykorzystać co może nie jest typowe, ale nie jest też błędem. Mój przykład:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Po instrukcji 2 a przed statusem2 celowo nie dodaję polecenia break ponieważ status 1 i status 2 są w pewnej zależności między sobą i chodzi o to aby czasem wykonywać tylko instrukcję 3 ale czasem uzupełniać ją dodatkowo o wykonanie instrukcji 1 i 2.
Z tego co czytałem w języku C dopuszczalna jest taka konstrukcja i przy braku break wykonują sie po prostu wszystkie instrukcje kolejno. Tymczasem kompilator ECLIPSE wstawia mi przy pozycji status2 pluskwę i wyświetla komunikat o braku kończącej instrukcji break. Kompilacja przechodzi prawidłowo, mam w konsoli 0 errors i 0 warnings, ale "pluskwy" siedzą jak bolące zęby. Czy można jakoś poinformować kompilator ,że takie jest moje zamierzenie, czy zastosować jedyny sposób na karaluchy, czyli polubić ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 mar 2020, o 14:45 
Offline
Moderator
Avatar użytkownika

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

MisterWhite napisał(a):
Tymczasem kompilator ECLIPSE wstawia mi przy pozycji status2 pluskwę i wyświetla komunikat o braku kończącej instrukcji break.

Nie ma czegoś takiego jak "kompilator ECLIPSE". Kompilator to masz tylko jeden AVR GCC (Atmel Toolchain) i jak widzisz on nie daje warnigów bo to jest dopuszczalne.

Te pchełki to system ostrzeżeń od środowiska IDE ECLIPSE a nie kompilatora. I masz tam rozbudowany system sterowania tymi pchełkami - możesz jeśli chcesz sobie wyłączyć je akurat dla takiej sytuacji. Upierdliwe jest to że trzeba to niestety robić dla każdego Workspace a nie raz dla całego Eclipse - więc mało opłacalne.

Więc albo się nie przejmować tymi pchełkami albo jednak znaleźć nieco inną formę zapisu tego w kodzie.

_________________
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: 15 mar 2020, o 15:02 
Offline
Użytkownik

Dołączył(a): 09 lip 2019
Posty: 106
Pomógł: 10

MisterWhite napisał(a):
Witam
Mam ECLIPSE 2019-12. W trakcie kompilacji programu, po lewej stronie pojawiają mi się takie śmieszne "pluskwiaki" .
[...]
Czy można jakoś poinformować kompilator ,że takie jest moje zamierzenie, czy zastosować jedyny sposób na karaluchy, czyli polubić ?


I bardzo dobrze, że pokazuje, bo to jest bardzo częste źródło błędów.
Jeśli jednak chcemy rzeczywiście zaprogramować coś bez tego break, to dobrą praktyką jest dodatnie komentarza w takim przypadku, żeby kolejna osoba, która zajrzy w kod nie wpakowała się na minę.
Myśmy używali w takich przypadkach po prostu komentarza //intentionally,
ale Eclipse sugeruje domyślnie /*no break*/
np.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Jak klikniesz w tą "pchełkę" to zresztą Eclipse Ci zasugeruje działania i może nawet sam dodać stosowny komentarz.
Obrazek

Na jaki komentarz ma reagować analiza statyczna kodu - można zmienić w ustawieniach.
Window -> Preferences -> C/C++ -> Code Analysis
Obrazek
W tym okienku można też ustawić w jaki sposób ma reagować analiza statyczna kodu na inne przypadki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 mar 2020, o 15:17 
Offline
Użytkownik

Dołączył(a): 13 mar 2013
Posty: 123
Pomógł: 1

Wielkie dzięki za wszelkie wyczerpujące wskazówki.
Pozdrawiam
W



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: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO