warnings
Moderatorzy: Moderatorzy, Administratorzy
warnings
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?
Bede wdzieczny za pomoc.
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?
Bede wdzieczny za pomoc.
Re: warnings
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 (:
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 (:
Re: warnings
IMHO w większości wypadków nie, bo pewnie 95% z nich jest wynikiem bardziej restrykcyjnego sprawdzania kodu przez nowsze GCC.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?
Bede wdzieczny za pomoc.
[size=75]Hannibal@current@2.6.X[/size]
Re: warnings
Trudno napisać program w C który by się kompilował bez warningów
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
Oczywiście zdarzają się warningi które zwiastują potworne błędy w czasie runtime dlatego trzeba chociaż rzucić na nie okiem. Ale jeśli kompilujesz ze Ľródeł znany, sprawdzony przez innych program, to możesz spać spokojnie...
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
Oczywiście zdarzają się warningi które zwiastują potworne błędy w czasie runtime 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
main(){printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}
Best oneliner, Obfuscated C Code Contest 1987, David Korn
- Sad Mephisto
- Administrator
- Posty: 2824
- Rejestracja: 2004-05-22, 13:24
- Lokalizacja: Zabrze
- Kontakt:
Re: warnings
Wbrew pozorom bardzo prosto można takie coś osiągnąć, trzeba tylko przestrzegać pewnych reguł.Camilo pisze:Trudno napisać program w C który by się kompilował bez warningów
Kod: Zaznacz cały
int main (void) {return(0);}
[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]
$ 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]
Re: warnings
Wiem, wiem Ale Twój program nie robi nic mądrzejszego niż mój No chyba że zamierzasz sprawdzać kod wyjścia, wtedy return(0) bywa bezcenneSad Mephisto pisze: Wbrew pozorom bardzo prosto można takie coś osiągnąć, trzeba tylko przestrzegać pewnych reguł.Kompiluje się bez ostrzeżeń nawet przy gcc -WallKod: Zaznacz cały
int main (void) {return(0);}
Camilo Stoogni
main(){printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}
Best oneliner, Obfuscated C Code Contest 1987, David Korn
main(){printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}
Best oneliner, Obfuscated C Code Contest 1987, David Korn
Re: warnings
www.kernel.org.. tam mają całkiem spore kawałki kodu które się kompilują bez warrningów
[color=#888888][i][size=75]Whatever walks in my heart
Will walk alone...[/size][/i][/color]
Will walk alone...[/size][/i][/color]
Re: warnings
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.
istnieja nawet calkiem inteligentne programy ktore testuja kod i wskazuja dokladnie co i jak jest nie tak lub jak inaczej powinno zostac zrobione.