Red de conocimiento informático - Problemas con los teléfonos móviles - Problema de alineación de bytes de VC++

Problema de alineación de bytes de VC++

VC tiene por defecto 8 bytes

=4+4 (complementario) +8+1+7 (complementario)

De hecho, este es el tratamiento especial de VC para el almacenamiento de variables. Para mejorar la velocidad de almacenamiento de la CPU, VC "alinea" las direcciones iniciales de algunas variables. De forma predeterminada, VC estipula que el desplazamiento de la dirección inicial de cada variable miembro en relación con la dirección inicial de la estructura debe ser un múltiplo del número de bytes ocupados por el tipo de variable. Las alineaciones de tipos comunes se enumeran a continuación (vc6.0, sistemas de 32 bits).

Tipo

Alineación (el desplazamiento de la dirección inicial del almacenamiento de variables en relación con la dirección inicial de la estructura)

Caracteres

El desplazamiento debe ser un múltiplo de sizeof(char), es decir, 1

int

El desplazamiento debe ser un múltiplo de sizeof(int), es decir, 4

< p debe ser múltiplo de 4

flotante

el desplazamiento debe ser 4 veces el tamaño de(flotante)

doble

el desplazamiento debe ser 8 veces el tamaño de (doble)

Corto

el desplazamiento debe ser 2 veces el tamaño de (corto)

el desplazamiento debe ser un múltiplo de 2

el desplazamiento debe ser múltiplo de 2

el desplazamiento debe ser múltiplo de 2

el desplazamiento debe ser múltiplo de 2

el desplazamiento debe ser un múltiplo de 2

p>

el desplazamiento debe ser un múltiplo de 2

el desplazamiento debe ser un múltiplo de 2

el desplazamiento debe ser un múltiplo de 2