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



Teraz jest 28 kwi 2024, o 17:54


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 16 ] 
Autor Wiadomość
PostNapisane: 15 wrz 2013, o 13:44 
Offline
Nowy

Dołączył(a): 20 sie 2013
Posty: 7
Pomógł: 0

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


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



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

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


W obu przypadkach "zmienna" inicjalizowana jest funkcją wiec dlaczego inicjalizacja funkcją tan() przechodzi a moją własną nie?

Wyedytuj sobie ten post i zobacz, w jaki sposób wklejamy listingi, ok? - Pozdrawiam, Anty



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2013, o 13:56 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2012
Posty: 758
Pomógł: 9

Wklej treść błędu.

_________________
ATB 1.03, Win XP SP3, ECLIPSE Indigo 3.7.2



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2013, o 14:03 
Offline
Moderator
Avatar użytkownika

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

Jak chcesz inicjalizować zmienną jakąś funkcją - własną funkcją to TYLKO w kodzie ;)

pomyśl sobie próbujesz pisać kod programu poza ciałem jakiejkolwiek funkcji to jest NIEDOPUSZCZALNE! :(

poza tym w pierwszym opisanym przez ciebie przypadku też masz błąd no ok warning takiego typu:

initializer element is not a constant expression [enabled by default]

ale widzę, że warnigami sobie głowy nie zawracasz co ? ;) ... albo może piszesz kod w kocim Atmel Studio to dlatego nawet nie widzisz tego warninga i wydaje ci się że jest dobrze .... Dlatego jak najszybciej przejdź na Eclipse - polecam. Bo Atmel Studio jeszcze nie jeden numer ci wytnie ;)

------------

zapamiętaj = poza ciałem funkcji zmienne globalne mogą być inicjalizowane TYLKO STAŁYMI

teraz jaśniej?

_________________
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 wrz 2013, o 14:41 
Offline
Nowy

Dołączył(a): 20 sie 2013
Posty: 7
Pomógł: 0

@Ledes
w pierwszym przypadku jest tak:

./Main.c:7: warning: data definition has no type or storage class
../Main.c:7: warning: type defaults to 'int' in declaration of 'zmienna'
../Main.c:7: error: initializer element is not constant
make: *** [Main.o] Error 1

w drugim:
../Main.c:7: warning: data definition has no type or storage class
../Main.c:7: warning: type defaults to 'int' in declaration of 'zmienna'
../Main.c:7: warning: initializer element is not constant
../Main.c:7: warning: (near initialization for 'zmienna')

Funkcja biblioteczna z math.h nie zgłasza błędu, a moja prosta funkcja zgłasza


@mirekk36
topic3419.html#p40430
Kod Krausera też zgłasza warningi "initializer element is not constant" chodzi o to że gdyby podmienił zamiast sin jakąś swoją funkcję to by nie zadziałało, pytanie dlaczego?



Ostatnio edytowano 15 wrz 2013, o 15:04 przez rafrew, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2013, o 14:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2012
Posty: 758
Pomógł: 9

Treść błędu wskazuje na to, co napisał Mirek.


Ten wpis nic nie wnosi , pisanie takich postów jest zaniżaniem poziomu.
Nabijanie sobie postów pisząc bezsensowne wypowiedzi po 3ch raportach oznacza OSTRZEŻENIE za niestosowanie się
do regulaminu i zaniżanie poziomu. Wpis był RAPORTOWANY. Kolega wie czym to grozi... --- SunRiver

_________________
ATB 1.03, Win XP SP3, ECLIPSE Indigo 3.7.2



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2013, o 15:13 
Offline
Nowy

Dołączył(a): 20 sie 2013
Posty: 7
Pomógł: 0

No właśnie, więc jak zmusić kompilator żeby i moją funkcję tak samo potraktował?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2013, o 17:39 
Offline
Moderator
Avatar użytkownika

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

rafrew napisał(a):
No właśnie, więc jak zmusić kompilator żeby i moją funkcję tak samo potraktował?


W ogóle nie zmuszać - tak się po prostu nie robi, chyba że uparcie lubisz iść pod wiatr i robić wszystko niezgodnie z założeniami.

czy ciężko ci w main() zainicjalizować sobie zmienną ? za pomocą swojej funkcji ? - to jest prawidłowa droga.

_________________
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 wrz 2013, o 20:20 
Offline
Nowy

Dołączył(a): 20 sie 2013
Posty: 7
Pomógł: 0

Znaczyłoby to, że trick Krausera (topic3419.html#p40430) to rzeczywiście trick wykorzystujący jakąś lukę kompilatora. ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 wrz 2013, o 20:38 
Offline
Moderator
Avatar użytkownika

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

rafrew napisał(a):
Znaczyłoby to, że trick Krausera (topic3419.html#p40430) to rzeczywiście trick wykorzystujący jakąś lukę kompilatora. ;)


żadna luka to preprocesor panie kochany ;)

_________________
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 2014, o 09:12 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 111
Pomógł: 0

Może trochę odgrzebuję stare tematy, ale mam taką linijkę prosto z książki
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

i taki ładny błąd:
Kod:
initializer element is not constant

O co chodzi?



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

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

mat3usz napisał(a):
ale mam taką linijkę prosto z książki

No tak tylko kłopot w tym, że przepisałeś linijkę ale w ogóle nie przeczytałeś tego co tam napisane :( ... czyli nie orientujesz się co to jest OSCCAL .... a do tego nawet nie raczysz napisać na jakim procku próbujesz to robić itp itd ...

Reasumując jest to przykład (to twoje pytanie) .... jak nie należy zadawać pytań.

Czasem jednak warto się wysilić i porządnie opisać swój problem a nie przytaczać linijkę z książki i pytać o jakiś błąd, który związku nie ma najmniejszego z tą linijką tylko ze wszystkim co zrobiłeś w kodzie poza tą linijką

_________________
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 2014, o 10:49 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 111
Pomógł: 0

Procesor to Atmega32, kod rzucony prosto z książki, przeczytałem cały rozdział, wiem co to OSCCAL. Po drugie ten sam kod uruchamiałem w lutym i działał.



Ostatnio edytowano 13 lis 2014, o 11:03 przez mat3usz, łącznie edytowano 1 raz

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

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

Widzę, że kolega uparty jest ;)

mat3usz napisał(a):
kod rzucony prosto z książki

to może będziesz tak łaskawy i pokażesz ten swój kod który próbujesz kompilować ? wtedy będzie można ci coś pomóc.

Bo wiesz? .... a może nie wiesz?, ale kod z książki kompiluje się poprawnie.

_________________
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 2014, o 13:46 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 111
Pomógł: 0

mirekk36 napisał(a):
Bo wiesz? .... a może nie wiesz?, ale kod z książki kompiluje się poprawnie.

Temu to akurat nigdy nie zaprzeczę ;)
A problem już rozwiązałem. Okazało się że zapomniałem jednej linijki :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lis 2014, o 14:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

Ludzie jak już zadacie pytanie i sami znajdziecie rozwiązanie problemu to chociaż napiszcie co było tym problemem. Bo tak to takie pytania/posty są dla mnie zupełnie bez sensu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lis 2014, o 14:20 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 111
Pomógł: 0

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



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 7 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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO