eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika[ARM] Obsługa peryferiów poprzez API (wskazniki do struktury) › Re: Obsługa peryferiów poprzez API (wskazniki do struktury)
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!opal.futuro.pl!news.internetia.pl!not-f
    or-mail
    From: Michoo <m...@v...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: Obsługa peryferiów poprzez API (wskazniki do struktury)
    Date: Mon, 28 May 2012 22:33:03 +0200
    Organization: Netia S.A.
    Lines: 19
    Message-ID: <jq0njd$8q4$1@mx1.internetia.pl>
    References: <f...@f...googlegroups.com>
    <y80629n75j0s$.1q2xhw0muf74c.dlg@40tude.net>
    <a...@q...googlegroups.com>
    <jpqv9u$l13$1@node2.news.atman.pl> <jpr05h$put$1@inews.gazeta.pl>
    <jpr0dm$lnd$2@node2.news.atman.pl>
    <a...@s...googlegroups.com>
    <jpto68$no7$1@inews.gazeta.pl>
    <4...@e...googlegroups.com>
    NNTP-Posting-Host: 83.238.197.12
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: mx1.internetia.pl 1338237357 9028 83.238.197.12 (28 May 2012 20:35:57 GMT)
    X-Complaints-To: a...@i...pl
    NNTP-Posting-Date: Mon, 28 May 2012 20:35:57 +0000 (UTC)
    In-Reply-To: <4...@e...googlegroups.com>
    X-Tech-Contact: u...@i...pl
    User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:8.0) Gecko/20120216
    Icedove/8.0
    X-Server-Info: http://www.internetia.pl/
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:632098
    [ ukryj nagłówki ]

    On 28.05.2012 20:14, slawek7 wrote:
    > Ale mam wątpliwość, czy czasem to rzutowanie nie oznacza tylko
    > arytmetyki wskaźników? Tzn za następny wskazywany obszar bęzie większy
    > albo o 2 bajty albo o 4, jak w przypadku zwykłej arytmetyki wskaźników
    > np
    > uint16_t *ptr; // wskaźnik na liczbę 16 bitową
    > teraz zwiększamy adres o jeden ptr++; czyli tak naprawdę wskaźnik
    > skacze o dwa a nie o jeden adres?
    Skacze o jeden sizeof(typ_wskazywany) - do tego jest arytmetyka wskaźników.

    Natomiast to czy użyjesz wskaźnika na uint32_t czy uint8_t wpłynie m.i.
    na to, że kompilator wtedy zadba o odpowiednie opakowanie niewyrównanego
    dostępu, czy wręcz (zależnie od zestawu instrukcji) z:
    *((uint8_t *)0x12)=1; zamieni na odpowiednią sekwencję load-modify-store
    tak, żeby nie popsuć pozostałych 3 bajtów.

    --
    Pozdrawiam
    Michoo

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: