-
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
- Wyświtlacz ramki cyfrowej
- bateria na żądanie
- pradnica krokowa
- Nieustający podziw...
- Coś dusi.
- akumulator napięcie 12.0v
- Podłączenie DMA 8257 do 8085
- pozew za naprawę sprzętu na youtube
- gasik
- Zbieranie danych przez www
- reverse engineering i dodawanie elementów do istniejących zamkniętych produktów- legalne?
- Problem z odczytem karty CF
- 74F vs 74HCT
- Newag ciąg dalszy
- Digikey, SN74CBT3253CD, FST3253, ktoś ma?
Najnowsze wątki
- 2025-01-22 Gdańsk => System Architect (Java background) <=
- 2025-01-22 Katowice => Senior Field Sales (system ERP) <=
- 2025-01-22 Warszawa => Java Developer <=
- 2025-01-22 pokolenie Z
- 2025-01-22 Wyświtlacz ramki cyfrowej
- 2025-01-22 Białystok => Architekt rozwiązań (doświadczenie w obszarze Java, A
- 2025-01-22 Chrzanów => Team Lead / Tribe Lead FrontEnd <=
- 2025-01-22 Ostrów Wielkopolski => Konsultant Wdrożeniowy Comarch XL/Optima (Ksi
- 2025-01-22 oferta na ubezpieczenie OC życie prywatne
- 2025-01-22 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-01-22 Warszawa => International Freight Forwarder <=
- 2025-01-22 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-21 Zgromadzenie użytkowników pojazdów :-)
- 2025-01-21 bateria na żądanie
- 2025-01-21 Warszawa => IT Business Analyst <=