-
Data: 2017-01-27 21:21:18
Temat: Re: Czas na Windows 10
Od: Sebastian Biały <h...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 2017-01-27 18:26, slawek wrote:
>> Więc może wyjaśnijmy: null pointer dereference *zazwyczaj* kończy
> się
>> sygnałem zabijającym aplikację
> A konkretnie w jakim języku? W jakim programie?
C++ w programie na linuxa.
> Od około 20 lat powszechnie używa się mechanizmów takich jak obsługa
> wyjątków.
To jest wyjatek systemowy lub sprzetowy, nie języka. Można go przejąc
tylko co zrobisz dalej? Program zrobil dereferencję nulla. Cala reszta
algorytmu nie ma sensu. Masz śmiecia zamiast danej.
> Jakiś tam null pointer (użyty do czegoś, bo nie użyty to
> zupełnie nieszkodliwe jest)
*dereferencja* jest użyciem. Powoduje odczyt z adresu 0. Generuje to
wyjątek na poziomie sprzętowym jeśli CPU to wspiera (a wspiera każdy
współaczesny z MMU czyliz grubsza również każdy Linux, Windows, Android,
Solaris itd).
>, czy dzielenie przez zero itd itp. wcale nie
> muszą (i nie kończą się) "zabijaniem aplikacji".
Oczywiście że się kończą. Aby to sprawdzić możesz poświęcić 4 minuty.
> Oczywiście możesz
> sprawdzać co instrukcję if ( ptr != NULL ) etc., ale po co?
Interesujące teorie przed nami otwierasz. Po co sprawdzać nullowośc
wskaźnika? Bo ja wiem, żeby nie zakończyć bus errorem albo SIGSEGV?
Czyli w/g Ciebie zrobienie:
char *a = 0;
chat x = *a;
Powinno zakończyć się czymś niegroźnym :) ? Faktycznie, istnieją
architekury na których tak można, ba nawet istnieje sensowna pamięć pod
adresem 0. Ale tutaj mowa o linuxie. Tam kończy się to sygnałem. Z
premedytacją zastawiona pułapka na niedzielnych programistów.
Może zanim zaczniesz opowiadać bzdury ktore ktoś przeczyta, sprawdź:
https://pl.wikipedia.org/wiki/Naruszenie_ochrony_pam
i%C4%99ci#Odwo.C5.82anie_do_zerowego_adresu_pami.C4.
99ci
> Seba, ja wiem że tobie się wydaje że umiesz programować.
Mi się nie tylko wydaje. Nie brnij dalej. Szkoda się kompromitować
publicznie.
Następne wpisy z tego wątku
- 27.01.17 22:55 slawek
- 27.01.17 23:40 Sebastian Biały
- 28.01.17 08:08 slawek
- 28.01.17 08:18 slawek
- 28.01.17 08:21 slawek
- 28.01.17 08:27 slawek
- 28.01.17 08:41 Sebastian Biały
- 28.01.17 08:43 Sebastian Biały
- 28.01.17 08:44 Sebastian Biały
- 28.01.17 08:45 Sebastian Biały
- 28.01.17 09:21 slawek
- 28.01.17 09:58 slawek
- 28.01.17 10:02 slawek
- 28.01.17 10:16 slawek
- 28.01.17 10:45 Sebastian Biały
Najnowsze wątki z tej grupy
- DS1813-10 się psuje
- Taki tam szkolny problem...
- LIR2032 a ML2032
- SmartWatch Multimetr bezprzewodowy
- olej psuje?
- Internet w lesie - Starlink
- Opis produktu z Aliexpress
- No proszę, a śmialiście się z hindusów.
- Zewnętrzne napięcie referencyjne LM385 1,2V -> 100mV dla ICL7106, Metex M-3800
- karta parkingowa
- Wl/Wyl (On/Off) bialy/niebieski
- I3C
- Pytanie o transformator do dzwonka
- międzymordzie USB 3.2 jako 2.0
- elektronicy powinni pomysleć o karierze elektryka
Najnowsze wątki
- 2024-11-25 Karty przedpłacone (podarunkowe) Google Play - pytanie do korzystających
- 2024-11-26 wina Tóska
- 2024-11-26 Rewolucja/Rewelacja!
- 2024-11-25 grupa ożyła ;)
- 2024-11-24 Być jak Clint
- 2024-11-24 Rura kanalizacja konceptu Franke = problem
- 2024-11-25 Wrocław => Lead Java EE Developer <=
- 2024-11-25 Warszawa => Business Development Manager - Network and Network Securit
- 2024-11-25 Kraków => Programista Full Stack (.Net Core) <=
- 2024-11-25 Lublin => Senior PHP Developer <=
- 2024-11-25 Karlino => Konsultant wewnętrzny SAP (FI/CO) <=
- 2024-11-25 Warszawa => ECM Specialist / Consultant <=
- 2024-11-25 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-11-25 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-11-25 Lublin => Inżynier Serwisu Sprzętu Medycznego <=