Aktywne Wpisy
Nullek +64
Spełniłem swoje małe marzenie (。◕‿‿◕。)
Niby tylko golfik ale i tak bardzo się cieszę (ʘ‿ʘ)
Niby tylko golfik ale i tak bardzo się cieszę (ʘ‿ʘ)
ludzki_odpad +134
Na koniec stycznia miałem awarię w aucie. Straciłem zapłon na 3 cylindrze, kiedy jechałem autostradą.
Wtedy myślałem, że zdechła świeca, albo cewka.
Kupiłem miernik kompresji i okazało się, że na cylindrze 3 nie ma kompresji w ogóle, a na czwórce jest bardzo słaba. Podejrzewałem wtedy uszczelkę pod głowicą, myślałem, że jest przedmuch między cylindrami.
Rozebrałem silnik i zdjąłem głowicę. Wtedy moim oczom ukazał się wypalony zawór wydechowy na cylindrze 3 i podparty
Wtedy myślałem, że zdechła świeca, albo cewka.
Kupiłem miernik kompresji i okazało się, że na cylindrze 3 nie ma kompresji w ogóle, a na czwórce jest bardzo słaba. Podejrzewałem wtedy uszczelkę pod głowicą, myślałem, że jest przedmuch między cylindrami.
Rozebrałem silnik i zdjąłem głowicę. Wtedy moim oczom ukazał się wypalony zawór wydechowy na cylindrze 3 i podparty
Coś mi kompilator nie przepuszcza tego a z własną funkcją to działa, tylko chciałem to zmienić na maina bo trochę głupio żeby main był tylko aby wywołać jedną prawdziwie główną funkcje XD
#programowanie
@Whiskeyjack29: @Kedamik: proszę nie (╯︵╰,) słusznie macie zakaz stosowania goto.
@Kedamik: użycie rekurencji to bardzo zły pomysł. lepiej użyj pętli.
@Whiskeyjack29: nie wiem z czego to wynika. natomiast ja mogę powiedzieć, że trochę grzebałem w kodzie linuxa na studiach i zdecydowanie to nie był wzór dobrze napisanego kodu. miejscami jest wręcz amatorski.
@Whiskeyjack29: jak się pisze jakieś funkcje na 250 linijek to może potem trzeba pisać goto, żeby przeskoczyć z linijki 120 do 248. naturalnym rozwiązaniem tego problemu jest podzielenie funkcji na mniejsze funkcje i wtedy nie ma prawa
@Whiskeyjack29: Zdziwiłbyś się. Rośnie trend weryfikacji oprogramowania i nie dotyczy to tylko embedded czy automotive. Mamy zweryfikowane kernele, pracuje się nad zweryfikowanymi
Weryfikacja oprogramowania stała się dużo bardziej automatyczna i zaawansowana.
@Whiskeyjack29: goto, podobnie jak longjmp/setjmp mają swoje zastosowania.
@Whiskeyjack29: To zdanie z automata sugeruje, że wiele z tych funkcji jest zwyczajnie zbyt złożonych.
Goto przede wszystkim zaciemna całkowicie przepływ kontroli, a nawet dla kompilatora takie losowe skoki utrudniają analizę CFG, gdyż takie skoki z "powrotami"
@Kedamik: Masz źle zaprojektowany logiką w programie. Jeśli w jakimś przypadku musisz rozpocząć działanie programu od początku, to tak naprawdę cały program jest pętlą która wykonuje się aż zostanie spełniony pewien warunek. Implementując to jako pętlę typu while(true) napiszesz kod, który będzie odpowiadać faktycznej semantyce twojego programu.
W każdym warunku: success &= run_a() == 0; (każda metoda powinna zwracać kod błędu, zwłaszcza w POSIX)
Na końcu:
if(!success) {
free();
ptr = NULL;
}
return ptr;
Komentarz usunięty przez autora