-
Data: 2011-02-02 01:01:13
Temat: Re: które języki 'historyczne' sš ważne
Od: Jędrzej Dudkiewicz <j...@n...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 02/02/2011 01:06 AM, Andrzej Jarzabek wrote:
> On 01/02/2011 21:50, Marek Borowski wrote:
>>
>> Cos mam wrazenie ze mylicie systemy z systemami. Operacje bliskie
>> hardware najwygodniej sie robi w C. Jak np w innych jezykach wysokiego
>> poziomu deklarujesz wywolanie funkcji z pod konkretnego adresu he ?
>>
>> W C prosze bardzo:
>>
>> void (*fun)(void) = (void (*)(void))0xFC00;
>> fun();
>
> Naprawdę muszę pisać, jak to można zrobić w C++?
>
>> Jak po odebraniu pakietu dobierzesz sie do jego pol, bez dodatkowych
>> narzutow ?
>>
>> W C jest to trywialne:
>>
>> uint8_t *buffer;
>>
>> a po odebraniu;
>>
>> struct Packet* usb = (struct Packet*) buffer;
>>
>> usb->requestType i jedziemy.
>
> Naprawdę? Szkoda tylko, że jak piszesz tę strukturę, to musisz pilnować,
> żeby wszystkie pola były na swoim miejscu i żeby Ci kompilator nie
> namieszał paddingiem na przykład.
__attribute__((packed)), pola struktury nie mogą być przekładane.
> Jak w C zapiszesz pole pakietu, które jest zaczyna się od ósmego bajta i
> jest czterobajtową liczbą, powiedzmy bez znaku, zapisaną w formacie -
> uwaga - big endian?
Rozumiem, że chodzi o deklarację tego pola w strukturze? Otóż wstawię na
początek pól na łączną wartość 7 bajtów, potem wstawię czterobajtową
zmienną, a potem wywołam funkcję "preprocess_packet", która mi zawoła
ntohl i pochodne na wskazanych polach, w tym na tej zmiennej.
> W C++ za to możesz bez problemu wrapnąć bufor bajtowy w klasę, która
> jako dane pole udotępnia ci dajmy na to 14 bajt bufora albo wartość
> liczbową w natywnym formacie, zapisaną jako big endian na bajtach od 4
> do 7.
Jasne, ale w środku albo będziesz kopiował dane do oddzielnych pól, albo
będziesz trzymał wskaźniki do nich i wołał ntohl przy dostępie, albo
wstawisz powyższy syf. To trzecie ma najmniejszy narzut pamięciowy i
obliczeniowy w czasie wykonania.
Tak czy owak, zaletą C++ jest to, że jakby co, to można tego rozwiązania
użyć, ale znacznie ładniej zapakowanego.
JD
Następne wpisy z tego wątku
- 02.02.11 01:25 Michoo
- 02.02.11 02:22 Michoo
- 02.02.11 02:23 Michoo
- 02.02.11 06:30 Adam Przybyla
- 02.02.11 06:32 Grzegorz Krukowski
- 02.02.11 07:46 Andrzej Jarzabek
- 02.02.11 08:04 Tomasz Kaczanowski
- 02.02.11 08:05 Tomasz Kaczanowski
- 02.02.11 08:08 Krzysiek Kowaliczek
- 02.02.11 08:22 Krzysiek Kowaliczek
- 02.02.11 08:28 Krzysiek Kowaliczek
- 02.02.11 09:08 Stachu 'Dozzie' K.
- 02.02.11 09:09 Stachu 'Dozzie' K.
- 02.02.11 09:34 Maciej Sobczak
- 02.02.11 09:36 R. P.
Najnowsze wątki z tej grupy
- Prezydent SZAP/USONA Trump ułaskawił prezydenta Hondurasu Hernandeza skazanego na 45 lat więzienia
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- 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ń.
Najnowsze wątki
- 2026-01-08 Umiejętność tankowania na egzaminie z prawa jazdy
- 2026-01-08 Nowy akumulator Donut Lab
- 2026-01-08 Komenda policji nie ma nic wspólnego ze sprawą zgwałcenia policjantki
- 2026-01-08 Pilot do zamka/bramy
- 2026-01-08 Ślad węglowy
- 2026-01-08 Prezydent SZAP/USONA Trump ułaskawił prezydenta Hondurasu Hernandeza skazanego na 45 lat więzienia
- 2026-01-08 Prezydent SZAP/USONA Trump ułaskawił prezydenta Hondurasu Hernandeza skazanego na 45 lat więzienia
- 2026-01-08 Agora zwalnia grupowo, mimo że w firmie pojawiły się zyski, czyli załoga zapracowała na siebie
- 2026-01-08 Agora zwalnia grupowo, mimo że w firmie pojawiły się zyski, czyli załoga zapracowała na siebie
- 2026-01-08 Dlaczego wrzucenie szkolnego krzyża do śmieci to zbrodnia mniejsza od zgaszenia sejmowej menory?
- 2026-01-08 NR 5G -- mity, hity, kity, bez satelity...
- 2026-01-07 Oszustwa w go go
- 2026-01-07 Jaka myjka ultradźwiękowa?
- 2026-01-07 POCO
- 2026-01-07 Kraków => Konsultant Microsoft Dynamics AX/365 SCM Consultant - Servi




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]