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



Teraz jest 25 kwi 2024, o 11:40


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 4 cze 2020, o 19:28 
Offline
Użytkownik

Dołączył(a): 07 lut 2015
Posty: 156
Pomógł: 2

Witam, tak dla rozruszania forum mam krótkie pytanie:
w pliku read_sms.h mam czerwony krzyżyk:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

czyli uknown type name TNEWSMS.

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

Pytanie nr2, jeśli kopiuję np plik abc.h i zmieniam jego nazwę na xyz.h, to otrzymuję w nim coś takiego;
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Proszę o szybki ratunek.

------------------------ [ Dodano po: 4 minutach ]

Wysyłam scana:
Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 cze 2020, o 19:47 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 lis 2015
Posty: 219
Pomógł: 20

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 cze 2020, o 19:55 
Offline
Użytkownik

Dołączył(a): 07 lut 2015
Posty: 156
Pomógł: 2

Niestety jest ta struktura a w pliku mk_sms.h:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


------------------------ [ Dodano po: 16 minutach ]

Czyli problem jest taki:

w MK_GSM/mk_sms.h mamy zdefiniowaną strukurę TNEW_SMS. I tej struktury nie widzi plik read_sms.h.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 cze 2020, o 20:19 
Offline
Użytkownik

Dołączył(a): 07 cze 2016
Posty: 563
Pomógł: 143

Cytuj:
MK_GSM/mk_sms.h mamy zdefiniowaną strukurę TNEW_SMS. I tej struktury nie widzi plik read_sms.h.

Nef.ID napisał(a):
Ale przecież w pliku read_sms.c mam:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

No to żeby plik read_sms.h "widział" tę strukturę, to #include "../MK_GSM/mk_sms.h" musi być w tym wlaśnie pliku, a nie w pliku *.c


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 cze 2020, o 20:50 
Offline
Użytkownik

Dołączył(a): 07 lut 2015
Posty: 156
Pomógł: 2

andrews dzięki,

ale proszę mi wytłumaczyć: jeśli w pliku "read_sms.c" mam #include "read_sms.h",

to dlaczego w pliku read_sms.h mam wpisać #include "../MK_GSM/mk_sms.h",

jeśli w pliku "read_sms.c" mam #include "../MK_GSM/mk_sms.h"

------------------------ [ Dodano po: 5 minutach ]

P.S. jeszcze raz dzięki, andrews, na ciebie można zawsze liczyć!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 cze 2020, o 06:34 
Offline
Moderator
Avatar użytkownika

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

To ja może swoje 3 grosze dorzucę i pokażę alternatywne podejście

Stworzyłeś sobie plik read_sms.h w którym użyłeś nagłówka funkcji z typem TNEWSMS. ok .... ale nie pokazałeś np w jakim pliku *.c inkludujesz ten swój plik read_sms.h a to tu może też czaić się babol ... tzn twoje niezrozumienie jak działa inkludowanie.

Bo oczywiście dobrym i poprawnym sposobem jest to co podał kolega andrews czyli zainkludowanie w pliku read_sms.h pliku w którym znajduje się definicja typu czyli mk_sms.h ale .... ale też wystarczy zrobić odpowiednio kolejne inkludy w pliku *.c w którym inkludujesz read_sms.h - dlatego pisałem o babolu i że nie pokazałeś jak wyglądają inkludy w pliku *.c gdzie zaciągasz swój read_sms.h

zatem spróbuję zgadnąć - choć rzadko to robię na forum. Przyjmijmy zatem, że w pliku main.c masz coś takiego - strzelam:

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



tu nadal będziesz miał babola w swoim read_sms.h

ale jeśli zamienisz kolejność tak jak tu:



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



to okaże się, że twój problem zniknie pomimo, że nie zrobisz inkluda w pliku read_sms.h

przyjrzyj się i postara się sam odpowiedzieć dlaczego - wtedy lepiej zrozumiesz mechanizm inkludowania - ale jeśli nadal nie będziesz wiedział dlaczego to daj znać - napiszę co i jak ok?

_________________
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: 6 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

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