eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingJak to robią w NASA › Re: Jak to robią w NASA
  • Data: 2019-08-30 19:20:34
    Temat: Re: Jak to robią w NASA
    Od: Adam Klobukowski <a...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu piątek, 30 sierpnia 2019 10:06:36 UTC+2 użytkownik Queequeg napisał:

    > 1. Restrict all code to very simple control flow constructs - do not use
    > goto statements, setjmp or longjmp constructs, and direct or indirect
    > recursion.
    >
    > Z setjmp/longjmp się zgodzę. goto przydaje się w C, gdzie nie masz RAII i
    > chcesz wyczyścić zasoby, i IMO tylko w takim przypadku jest uzasadnione.
    >
    > Rekurencja... czasem prościej jest zrobić coś rekurencją niż iteracją,
    > choć każdą rekurencję i tak można zamienić na iterację, a sama rekurencja
    > nie jest zła. Jest zła wtedy, kiedy wymyka się spod kontroli. Wszystko
    > zależy od konkretnej sytuacji.

    > 3. Do not use dynamic memory allocation after initialization.
    >
    > Znów... zależy od konkretnego zastosowania. MISRA C zresztą mówi to samo.
    > Widzę w tym logikę, ale nie chciałbym tak pisać :(

    Te reguły wynikają z tego że to jest praktycznie programowanie embeded/raw
    metal/realtime. Pamięci mało, stosu mało, często nie ma dynamicznej alokacji i kod
    nie może rzucić błędem 'bo się alokacja nie udała' tylko musi być tak napisany żeby
    mieć gwarancję że potrzeby dotyczące pamięci zawsze będą spełnione.

    AdamK

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: