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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 17 maja 2025, o 09:33


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
    Autor Wiadomość
    PostNapisane: 12 lis 2022, o 13:21 
    Offline
    Nowy

    Dołączył(a): 18 sty 2022
    Posty: 11
    Pomógł: 0

    Męcze się od dłuższego czasu przy specyfikatorze extern ponieważ eclips wywala ptaszek zaraz po wpisaniu: "extern uint8_t ggcl;" i pisze: unused declaration of variable eclipse 'ggcl'

    Krótki napiasy programik dla testów i w karzdym jakim napisze projekcie to samo się dzieje.

    main.c
    Składnia: [ Pobierz ] [ Ukryj ]
    język cpp
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    test2.h
    Składnia: [ Pobierz ] [ Ukryj ]
    język cpp
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    test2.h
    Składnia: [ Pobierz ] [ Ukryj ]
    język cpp
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 lis 2022, o 18:52 
    Offline
    Użytkownik

    Dołączył(a): 29 paź 2017
    Posty: 232
    Pomógł: 26

    deklaracje extern uint8_t ggcl;
    powinieneś umieścić w pliku test2.h

    _________________
    Jestem na GG 31324
    Nowy soft, nowa nadzieja.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 lis 2022, o 19:03 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 06 mar 2015
    Posty: 323
    Lokalizacja: Rybnik
    Pomógł: 23

    Po pierwsze masz 2 pliki "test2.h"
    A gdzie masz plik "test2.c"?
    Pokaż plik test2.c

    ------------------------ [ Dodano po: 2 minutach ]

    JarekB napisał(a):
    deklaracje extern uint8_t ggcl;
    powinieneś umieścić w pliku test2.h

    A dlaczego tak myślisz?

    _________________
    http://www.avrboss.pl



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 lis 2022, o 19:47 
    Offline
    Moderator
    Avatar użytkownika

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

    Cytuj:
    Krótki napiasy programik dla testów i w karzdym jakim napisze projekcie to samo się dzieje.

    Ale przecież ty wszystko co można to tutaj pomieszałeś.

    extern dla zmiennej to DEKLARACJA zmiennej i to daje się zwykle w plikach *.h choć czasem można dać i w *.c

    a bez extern to DEFINICJA zmiennej i to daje się TYLKO i wyłącznie w plikach *.c a nie w *.h jak ty zrobiłeś - i stąd twoje problemy

    _________________
    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: 12 lis 2022, o 20:43 
    Offline
    Nowy

    Dołączył(a): 18 sty 2022
    Posty: 11
    Pomógł: 0

    czyli mam dać do pliku test2.h

    Składnia: [ Pobierz ] [ Ukryj ]
    język cpp
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    a w pliku main.c tylko samą zmieną.

    Składnia: [ Pobierz ] [ Ukryj ]
    język cpp
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 lis 2022, o 11:11 
    Offline
    Moderator
    Avatar użytkownika

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

    ord napisał(a):
    Zmienna nie jest używana w pliku main.c i dlatego ostrzeżenie.
    Usuń deklarację zmiennej ggcl z main.c. W test2.c zmień deklarację zmiennej ggcl na
    static uint8_t ggcl;
    oraz przenieś ją do wnętrza funkcji while_test() na początek. Plik test2.h bez zmian.


    kolega widzę pojęcia i nie wie czym się różni deklaracja zmiennej od definicji i przez to pewnie ta nonsensowna podpowiedź. Bo skoro autor tworzy deklarację ze specyfikatorem extern to oznacza że chce mieć ją globalną dla innych plików źródłowych *.c

    W tym przypadku dodawanie specyfikatora static który wyłączy globalność w aspekcie potrzeb autora jest już totalnym nieporozumieniem

    _________________
    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 lis 2022, o 14:11 
    Offline
    Moderator
    Avatar użytkownika

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

    ord napisał(a):
    Nie siedzę w jego głowie, nie wiem czego chce, odnoszę się do przedstawionego kodu.

    ok ale wprowadzasz zamieszanie z takimi pojęciami jak DEFINICJA i DEKLARACJA zmiennych - warto jednak zapamiętać co które oznacza

    _________________
    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  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 19 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