logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

AVR - ARM - Długości zmiennych w różnych architekturach

strikexp 18 Lip 2015 10:21 1131 5
  • #1 14856873
    strikexp
    Poziom 27  
    Panowie i Panie mam pytanko, jak to jest z długością zmiennych w różnych architekturach mikrokontrolerów.

    Przykłądowo do AVR znalazłem coś takiego na forum:

    char - 1 bajt
    short - 2 bajty
    int - 2 bajty
    long - 4 bajty
    long long - 8 bajtów

    Rozumiem że tak będzie w 8-bitowym AVR. Ale jak będzie wygladała sytuacja w 16 bitowym XMEGA, oraz w 32-bitowym ARM? Identycznie czy proporcjonalnie?

    Czy długość pozostaje taka sama a jedynie pamięci zostaje wykorzystane więcej zgodnie z architekturą? Oraz oczywiście obliczenia int np w 32-bitowym ARM są wykonywane w 1 cyklu zamiast 4 w AVR 8-bitowym?
  • #2 14857011
    Konto nie istnieje
    Konto nie istnieje  
  • #3 14858197
    michalko12
    Specjalista - Mikrokontrolery
    strikexp napisał:
    16 bitowym XMEGA


    Już po raz kolejny widzę takie kwiatki. Skąd to się bierze, jest gdzieś jakieś źródło w internecie z takimi informacjami? Jeśli powszechnie występuje takie przekonanie, że to jest 16 bitowy procesor to nie dziwię się, że ludziska podchodzą do XMEGA jak do czarnej skrzynki.
  • Pomocny post
    #4 14858762
    krru
    Poziom 33  
    Długości zmiennych poszczególnych typów w C nie są określone. Są zdefiniowane tylko ich zależności (nieostre).
    Natomiast jest nagłówek stdint.h w którym zdefiniowane są typu w rodzaju uint8_t, int32_t i ich należy używać gdy potrzebne są zmienne o konkretnej długości.
REKLAMA