eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingPakowanie strukturRe: Pakowanie struktur
  • X-Received: by 10.140.19.99 with SMTP id 90mr374435qgg.18.1449260806249; Fri, 04 Dec
    2015 12:26:46 -0800 (PST)
    X-Received: by 10.140.19.99 with SMTP id 90mr374435qgg.18.1449260806249; Fri, 04 Dec
    2015 12:26:46 -0800 (PST)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.man.lodz.pl!newsfeed.pionier.net.p
    l!news.glorb.com!mv3no9299059igc.0!news-out.google.com!z49ni45776qgd.1!nntp.goo
    gle.com!f78no6463365qge.1!postnews.google.com!glegroupsg2000goo.googlegroups.co
    m!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Fri, 4 Dec 2015 12:26:46 -0800 (PST)
    In-Reply-To: <b...@g...com>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=77.254.34.88;
    posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
    NNTP-Posting-Host: 77.254.34.88
    References: <n3n4m5$grf$1@node1.news.atman.pl>
    <2...@g...com>
    <7...@g...com>
    <9...@g...com>
    <f...@g...com>
    <b...@g...com>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <4...@g...com>
    Subject: Re: Pakowanie struktur
    From: "M.M." <m...@g...com>
    Injection-Date: Fri, 04 Dec 2015 20:26:46 +0000
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    Xref: news-archive.icm.edu.pl pl.comp.programming:208961
    [ ukryj nagłówki ]

    On Friday, December 4, 2015 at 2:18:45 PM UTC+1, Maciej Sobczak wrote:
    > > Rozmawialiśmy o
    > > szczególikach, typu:
    > > 1) można się przejechać na big/lit endian
    > > 2) najpierw memcpy, potem operator rzutowania
    > > 3) różny padding w strukturach
    > > 4) różny rozmiar inta na różnych platformach lub wersjach programu.
    >
    > Właśnie te szczególiki powodują, że te triki to złe rozwiązania.

    Mają swoje zalety. Gdy mam dużą strukturę, którą będę modyfikował w
    przyszłości i gdy użyję:
    write( &struct , sizeof(struct) , 1 )
    to:
    1) w jednej linii kodu zapisuję/odczytuję całą strukturę.
    2) strukturę mogę dowolnie modyfikować, a zapis i odczyt zawsze
    zadziała.


    > > aktywne unikanie tego ryzyka zajmuje
    > > czas. Zobacz jak łatwo rypnąć się po poprawce pól w strukturze.
    >
    > Jeśli problemem jest czas lub poprawki pól w strukturach (ale przecież protokół
    miał być znany?), to taki kod można wygenerować. Po to są standardy w rodzaju ASN.1 i
    jemu podobne. Albo nawet niestandardowe, ale poręczne wynalazki typu MessagePack.
    > Co do czasu - ogólnie, pisanie poprawnych programów może zająć więcej czasu, niż
    niepoprawnych. Ale akurat poprawna obsługa protokołu sieciowego to jest jedno z tych
    miejsc, gdzie oszczędność czasu na etapie kodowania się nie opłaca.

    Zgodzę się z Tobą, ale tylko w przypadku bardzo dużych aplikacji. W mały i w
    średnich programach to co proponujesz moim zdaniem jest przerostem
    formy nad treścią.

    Pozdrawiam

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: