o que é um limite de tamanho de palavra?

0

Estou lendo este artigo:

link

E afirma o seguinte:

"A estrutura C corresponde diretamente ao tipo de dados Assembly Language do mesmo uso, e ambos referenciam um bloco contíguo de memória física, geralmente delimitado (dimensionado) por limites de comprimento de palavra. Implementações de linguagem que podem utilizar meia palavra ou Os limites de byte (que proporcionam um empacotamento mais denso, usando menos memória) foram considerados avançados em meados dos anos oitenta. "

O que é um limite de comprimento de palavras?

    
por JohnMerlino 26.04.2014 / 22:04

1 resposta

0

Algumas arquiteturas alinharão dados em um determinado comprimento de palavra (dois bytes, quatro bytes, etc.) definindo assim essa estrutura em C:

struct sample {
  int a;
  char b;
}

Pode ter um tamanho de oito bytes, mesmo que você espere que sejam apenas cinco (quatro bytes para um e um para b). Isso garante que cada membro comece em uma posição múltipla de 4. E isso depende da arquitetura em que a compilação ocorre. Se precisar forçar a embalagem, você pode fazer isso:

#pragma pack(1)
struct sample {
  int a;
  char b;
}
    
por 26.04.2014 / 22:27