warnings

Te, które nie mieszczą się w powyższych kategoriach, a mają coś wspólnego ze Slackware.

Moderatorzy: Moderatorzy, Administratorzy

Jiro
Użytkownik
Posty: 39
Rejestracja: 2004-06-12, 12:44
Lokalizacja: Głogów

warnings

Post autor: Jiro »

Witam!
Tak sie od dluzszego juz czasu zastanawiam nad warningami wystepujacymi podczas kompilacji niektorych programow... dzisiaj np. kompilowalem sobie mplayer'a i mialem bardzo duzo warningow w jej trakcie, dlatego chcialem zapytac czy warningi te sa rownoznaczne z jakimis bledami? czy przez nie program moze dzialac mniej stabilnie i czy w ogole sie nimi przejmowac? :D
Bede wdzieczny za pomoc.
malloy
Użytkownik
Posty: 231
Rejestracja: 2004-07-15, 08:58

Re: warnings

Post autor: malloy »

Troche glupio sie wypowiadac nie majac wiedzy, ale moge cos powiedziec opierajac sie przynajmniej na doswiadczeniu (: A wynika z niego, ze warningi mozna sobie z grubsza ignorowac. Tzn. warto wiedziec co gdzie nie pasuje i dlaczego, ale mi osobiscie jeszcze nigdy w niczym nie przeszkodzily (nawet na starcie systemu mam od zawsze ze 2-3 ekrany warningow i nie bardzo wiem co z nimi zrobic, ale nic mi nie psuja). Przy kompilacji czegos warningi chyba zazwyczaj maja zwracac uwage na jakies niescislosci, ale watpie, by komukolwiek przeszkodzil kiedys warning typu "no new line at eof". Inna sprawa jesli chodzi o errory. Jak jest error, to jest klops. I szczerze mowiac nie mam pojecia co z tym robic, bo od czasu do czasu dostaje errora i jest pasztet, aplikacji sobie nie zainstaluje. Czasami pomaga np. sciagniecie starszej/nowszej wersji danej rzeczy, ale na tym moje pomysly sie koncza, bo programista niestety nie jestem i jesli na stronie konkretnego programu nie ma jakis wskazowek, to sobie nie radze. A przeszkody typu, ze nie ma sie zainstalowanych np. wymaganych bibliotek albo jakies zmienne/lokalizacje sa nie takie, jak trzeba to zazwyczaj chyba przy ./configure wylazi.
No, ale sie rozpisalem od rzeczy.. A w mplayerze to tez przy starcie miewam (w zaleznosci co i jak otwieram) seryjki warningow, jednak mimo to chodzi wszystko pieknie (jedynie pod konsola nie moge za nic odtworzyc niczego na pelnym ekranie...). Takze podtrzymuje zdanie, iz warning jest jedynie informacja, ale jeszcze nie konkretnym bledem. Jesli sie myle, to poprawiajcie (:
Awatar użytkownika
Hannibal
Moderator w st. spocz.
Posty: 1644
Rejestracja: 2004-06-08, 16:03
Lokalizacja: Łódź

Re: warnings

Post autor: Hannibal »

Jiro pisze:Witam!
Tak sie od dluzszego juz czasu zastanawiam nad warningami wystepujacymi podczas kompilacji niektorych programow... dzisiaj np. kompilowalem sobie mplayer'a i mialem bardzo duzo warningow w jej trakcie, dlatego chcialem zapytac czy warningi te sa rownoznaczne z jakimis bledami? czy przez nie program moze dzialac mniej stabilnie i czy w ogole sie nimi przejmowac? :D
Bede wdzieczny za pomoc.
IMHO w większości wypadków nie, bo pewnie 95% z nich jest wynikiem bardziej restrykcyjnego sprawdzania kodu przez nowsze GCC.
[size=75]Hannibal@current@2.6.X[/size]
Awatar użytkownika
Camilo
Użytkownik
Posty: 28
Rejestracja: 2004-06-22, 22:11
Lokalizacja: Białystok

Re: warnings

Post autor: Camilo »

Trudno napisać program w C który by się kompilował bez warningów :wink:

Jeśli wśród opcji gcc masz -Wall to na pewno większość ostrzeżeń można wrzucić do kosza. Taki program:

main () {return;}

skompilowany "gcc -Wall" zwraca dwa warningi :lol:

Oczywiście zdarzają się warningi które zwiastują potworne błędy w czasie runtime :cry: dlatego trzeba chociaż rzucić na nie okiem. Ale jeśli kompilujesz ze Ľródeł znany, sprawdzony przez innych program, to możesz spać spokojnie...
Camilo Stoogni
main(){printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}
Best oneliner, Obfuscated C Code Contest 1987, David Korn
Awatar użytkownika
Sad Mephisto
Administrator
Posty: 2824
Rejestracja: 2004-05-22, 13:24
Lokalizacja: Zabrze
Kontakt:

Re: warnings

Post autor: Sad Mephisto »

Camilo pisze:Trudno napisać program w C który by się kompilował bez warningów :wink:
Wbrew pozorom bardzo prosto można takie coś osiągnąć, trzeba tylko przestrzegać pewnych reguł.

Kod: Zaznacz cały

int main (void) {return(0);}
Kompiluje się bez ostrzeżeń nawet przy gcc -Wall
[i]Thank you for noticing this notice. Now that you've noticed this notice, you may have noticed that this notice is noticably unnoticable.
$ python -c "print int(''.join(map(lambda x: str(len(x)),'Kto z woli i myśli zapragnie Pi spisać cyfry ten zdoła.'.split())))/1e+10"[/i]
Awatar użytkownika
Camilo
Użytkownik
Posty: 28
Rejestracja: 2004-06-22, 22:11
Lokalizacja: Białystok

Re: warnings

Post autor: Camilo »

Sad Mephisto pisze: Wbrew pozorom bardzo prosto można takie coś osiągnąć, trzeba tylko przestrzegać pewnych reguł.

Kod: Zaznacz cały

int main (void) {return(0);}
Kompiluje się bez ostrzeżeń nawet przy gcc -Wall
Wiem, wiem :P Ale Twój program nie robi nic mądrzejszego niż mój :lol: No chyba że zamierzasz sprawdzać kod wyjścia, wtedy return(0) bywa bezcenne :wink:
Camilo Stoogni
main(){printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}
Best oneliner, Obfuscated C Code Contest 1987, David Korn
Awatar użytkownika
Ciuciu
Administrator
Posty: 921
Rejestracja: 2004-05-26, 21:01
Lokalizacja: 3C17y
Kontakt:

Re: warnings

Post autor: Ciuciu »

www.kernel.org.. tam mają całkiem spore kawałki kodu które się kompilują bez warrningów :P
[color=#888888][i][size=75]Whatever walks in my heart
Will walk alone...[/size][/i][/color]
Awatar użytkownika
ahes
Użytkownik
Posty: 1047
Rejestracja: 2004-05-28, 10:44
Lokalizacja: Krakow
Kontakt:

Re: warnings

Post autor: ahes »

niewatpliwie opcje Wall i pedantic sypia warningami.
istnieja nawet calkiem inteligentne programy ktore testuja kod i wskazuja dokladnie co i jak jest nie tak lub jak inaczej powinno zostac zrobione.
ODPOWIEDZ