-
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
- 8080
- Portowanie CP/M
- radyjko
- Re: Basen i chłodzenie w w wentylacji mechanicznej
- Akumulatory VRLA
- ładowarka zmarła
- Podstawa bezpiecznikowa jako rozłącznik DC
- Napięcie akumulatora wyłączające UPS / jakie nowe akumulatory do UPS?
- nawigacja satelitarna
- SmartLife/Tuya i osuszanie -- mordowanie z zimną krwią...
- Głośnik piezoelektryczny
- Mala autonomiczna kamera monitoringu
- czas na emeryturę i EB
- Generowanie sumy kontrolnej z fragmentu pliku bin
- Re: Mala autonomiczna kamera monitoringu
Najnowsze wątki
- 2024-07-13 256 świadków nie ma racji
- 2024-07-11 Tokarze CNC czyli ciężkie życie prototypiarza
- 2024-07-12 Zgody na przetwarzanie danych
- 2024-07-13 IObit Uninstaller Pro 13.6.0.5 Multilingual: Installation Guide
- 2024-07-12 stare graty młode kozy
- 2024-07-11 8080
- 2024-07-13 Przyłącze dolne grzejnika
- 2024-07-13 IObit Uninstaller Pro 13.6.0.5 Multilingual Overview
- 2024-07-12 Czym wykonać otwór fi 100 w betonie komórkowym?
- 2024-07-12 Warszawa => Senior Rust Software Engineer <=
- 2024-07-12 Warszawa => Business Unit Manager (Recruitment Business) <=
- 2024-07-12 Warszawa => Head of WMS Competence Center for IT&D Contract Logistics
- 2024-07-12 Warszawa => Head od WMS Competence Center dla IT&D (Blue Yonder) <=
- 2024-07-12 Kraków => Ruby Backend Developer <=
- 2024-07-12 Warszawa => UX/UI Designer <=