-
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.PO
STED!not-for-mail
From: Jędrzej Dudkiewicz <j...@n...com>
Newsgroups: pl.comp.programming
Subject: Re: które języki 'historyczne' sš ważne
Date: Wed, 02 Feb 2011 15:19:02 +0100
Organization: http://onet.pl
Lines: 81
Message-ID: <iibp4m$p1q$1@news.onet.pl>
References: <2...@n...onet.pl>
<f...@t...askar.com.pl>
<4d470681$0$2436$65785112@news.neostrada.pl>
<r...@4...com>
<4d47519c$0$2437$65785112@news.neostrada.pl> <ii8g1j$768$1@news.onet.pl>
<4d47d675$0$2447$65785112@news.neostrada.pl> <ii8l0l$7j3$1@solani.org>
<4d47fdf5$0$2456$65785112@news.neostrada.pl> <ii90a6$hdr$1@news.onet.pl>
<4d480625$0$2456$65785112@news.neostrada.pl> <ii9256$prk$1@news.onet.pl>
<ii9v6d$vi$1@news.onet.pl> <iia75c$f2o$1@inews.gazeta.pl>
<iiaacp$8mk$1@news.onet.pl> <iib24t$5m2$1@inews.gazeta.pl>
<iibdrm$7c6$1@news.onet.pl>
<e...@n...googlegroups.com>
NNTP-Posting-Host: 234-dzi-16.acn.waw.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: news.onet.pl 1296656343 25658 82.210.159.234 (2 Feb 2011 14:19:03 GMT)
X-Complaints-To: n...@o...pl
NNTP-Posting-Date: Wed, 2 Feb 2011 14:19:03 +0000 (UTC)
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101209
Fedora/3.1.7-0.35.b3pre.fc14 Thunderbird/3.1.7
In-Reply-To: <e...@n...googlegroups.com>
Xref: news-archive.icm.edu.pl pl.comp.programming:188538
[ ukryj nagłówki ]On 02/02/2011 02:52 PM, Andrzej Jarzabek wrote:
> On Feb 2, 11:06 am, Jędrzej Dudkiewicz<jedrzej.dudkiew...@nospam-
> gmail.com> wrote:
>> On 02/02/2011 08:46 AM, Andrzej Jarzabek wrote:
>>
>>>> __attribute__((packed)), pola struktury nie mogą być przekładane.
>>
>>> To nie jest zdaje się część standardowego języka C, tylko rozszerzenie,
>>> które twórca implementacji dodał dlatego właśnie, że C się do tego
>>> kiepsko nadaje.
>>
>> Możliwe, chociaż wydaje mi się, że akurat o paddingu standard C też nic
>> nie mówi.
>
> Mówi, że może być i ogólniej, że konkretny binarny layout struktury
> jest zależny od implementacji.
W C++ to samo.
>> Więc tak czy inaczej jesteś w krainie konkretnego kompilatora.
>
> A w C++ możesz właśnie nie być.
Jak robisz ręczny, dokładny dostęp pole po polu, to pewnie, że może być.
W C też tak możesz napisać. Ba, w C++ możesz napisać tak, jak jest w C,
i też będzie pięknie.
>> Co to za argument o wołaniu funkcji? W C++ nie
>> musisz wołać?
>
> Nie musisz, znaczy możesz napisać tak, żeby się sama wołała.
Ta funkcja jest wołana w jednym miejscu. Wołanie funkcji w jednym
miejscu uważam za non-issue. To zupełnie inna skala problemu niż ręczne
wołanie odpowiednika destruktora.
>>> Nieprawda. Jeśli np. czytasz wartość tego pola tylko w co 20 pakiecie,
>>> to mniejszy narzut ma konwertowanie przy dostępie.
>>
>> Jeśli czytam przy co 20 pakiecie, to prawdopodobnie znaczy to, że wyszło
>> mi z pierwszego rzutowania, że w danym pakiecie mam dodatkowe dane w
>> innym formacie,
>
> Wyszło powiedzmy tyle, że w danym pakiecie masz jakieś inne pola,
> niekoniecznie w innym formacie.
Jak to jakieś inne pole w niekoniecznie innym formacie? Znaczy mam tę
samą strukturę, tylko z innym polem? To znaczy mam tę samą strukturę,
czy jednak nie?
>> czyli robię kolejne rzutowanie i dopiero wtedy wołam
>> funkcję.
>
> Jakie to proste i wygodne!
A w C++ co zrobisz? To samo. Skoro masz nagle dane, które masz inaczej
interpretować (bo nie wierzę, że jednak masz tę samą strukturę z innymi
polami - w głowie mi się taka mutacja nie mieści), to musisz ustalić,
jako co masz interpretować. Bierzesz bajt/zmienną identyfikującą dane w
binarnym buforze, wybierasz odpowiednią klasę i karmisz ją buforem.
>> Możemy się tak licytować do śmierci, bo nie działamy na
>> konkretnym przykładzie.
>
> Przykład jest wystarczająco konkretny. W C++ w każdej takiej sytuacji
> możesz stworzyć klase opakowującą bez żadnych narzutów, a decyzje o
> tym, kiedy konwetować, czy za każdym dostępie, czy na miejscu, czy
> trzymać wynik zcache'owany osobno zostawić implementacji.
No i to jest dokładnie to, co napisałem wcześniej. W C++ masz wszystko
ładnie zapakowane, ale zwykle w opakowaniu siedzi jakiś syf.
Może tak: ja uważam, że grzebanie się w bajtach i w bitach to jest
grzebanie w gnoju i niezależnie od tego, czy robisz to w kombinezonie
czy w kąpielówkach, pozostanie to grzebaniem w gnoju. Sprawę należy
załatwić szybko, powstały kod hermetycznie zamknąć w jakiejś klasie i o
całości zapomnieć. Dlatego uważam, że rzutowanie wskaźnika na bufor na
wskaźnik na strukturę jest równie dobrym rozwiązaniem jak każde inne. O
ile nie jest to powszechna technika.
JD
Następne wpisy z tego wątku
- 02.02.11 14:36 Jędrzej Dudkiewicz
- 02.02.11 14:41 b...@n...pl
- 02.02.11 15:02 Jędrzej Dudkiewicz
- 02.02.11 16:26 Maciej Sobczak
- 02.02.11 16:31 Jędrzej Dudkiewicz
- 02.02.11 17:22 Andrzej Jarzabek
- 02.02.11 22:07 Maciej Sobczak
- 02.02.11 22:07 Wojciech Jaczewski
- 02.02.11 23:10 A.L.
- 03.02.11 00:11 Wojciech Jaczewski
- 03.02.11 00:54 Andrzej Jarzabek
- 03.02.11 01:10 Andrzej Jarzabek
- 05.02.11 23:51 Michal
- 06.02.11 12:40 Michoo
Najnowsze wątki z tej grupy
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
Najnowsze wątki
- 2025-07-08 Router LTE z możliwością zmian MTU
- 2025-07-08 Re: Pożar w Ząbkach a polscy dyletanci
- 2025-07-08 Trójmiasto => Head of Social Media <=
- 2025-07-08 Warszawa => MENA New Business Manager <=
- 2025-07-08 Środa Wielkopolska => SAP FI/CO Internal Consultant <=
- 2025-07-08 Warszawa => Customer Service with Spanish + translation <=
- 2025-07-08 Warszawa => Senior Account Manager <=
- 2025-07-08 Parkometry bez podstawy prawnej
- 2025-07-07 Re: Ząbki się spaliły jak wiejskie, drewniane stodoły sprzed 50 lat
- 2025-07-06 Kup szybko nową ładowarkę do smartfona
- 2025-07-07 TV z Play (dawniej UPC) -- potrzebny dekoder?
- 2025-07-06 Kup szybko nową ładowarkę do smartfona
- 2025-07-07 mija rok jeżdzenia po lewej
- 2025-07-06 Elektryki jednak są NIEBEZPIECZNE
- 2025-07-08 Fajny film widziałem...