-
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
Następne wpisy z tego wątku
- 07.12.15 10:14 Tomasz Kaczanowski
- 07.12.15 12:02 M.M.
- 07.12.15 15:12 Maciej Sobczak
- 07.12.15 15:40 M.M.
- 07.12.15 16:22 witek
- 07.12.15 17:05 M.M.
- 07.12.15 18:40 witek
- 07.12.15 19:03 Sebastian Biały
- 07.12.15 19:29 M.M.
- 07.12.15 19:41 M.M.
- 07.12.15 19:55 witek
- 07.12.15 20:06 M.M.
- 07.12.15 20:25 witek
- 07.12.15 20:34 Sebastian Biały
- 07.12.15 21:30 M.M.
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-29 Dławik CM
- 2024-11-29 [OT] Lewe oprogramowanie
- 2024-11-29 Błonie => Sales Specialist <=
- 2024-11-29 Warszawa => IT Expert (Network Systems area) <=
- 2024-11-29 Warszawa => Ekspert IT (obszar systemów sieciowych) <=
- 2024-11-29 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-29 Białystok => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-11-29 Pómpy ciepła darmo rozdajoo
- 2024-11-29 Białystok => Application Security Engineer <=
- 2024-11-29 Białystok => Programista Full Stack (.Net Core) <=
- 2024-11-29 Gdańsk => Software .Net Developer <=
- 2024-11-29 Wrocław => Key Account Manager <=
- 2024-11-29 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-29 Chrzanów => Specjalista ds. public relations <=
- 2024-11-27 Re: UseGalileo -- PRODUKTY I APLIKACJE UŻYWAJĄ JUŻ DZIŚ SYSTEMU GALILEO