[eside-ghost] Little Endian

Jon Fernandez jonferna en tecnologico.deusto.es
Mar Jul 5 16:46:51 CEST 2005


Una preguntilla rápida.

Abro con el biew un fichero ELF binario, y busco el entry point. 
Se encuentra en el offset 0x18.

Offset
                                   Entry Point
                                       \/
00000010 02 00 03 00  01 00 00 00  E0 85 04 08  34 00 00 00

Visto human-friendly es 0x080485E0, pero en el binario esta guardado del
reves (byte a byte)

El tema esta que si lo leo a saco, fread(&buffer,sizeof(int),1,fichero),
lo lee de puta madre en un entero.
Mi pregunta es la siguiente: ¿Cuando nos afecta que un fichero sea Big
Endian o Little Endian? ¿Cuando tengo que darle la vuelta al orden de
los bytes? ¿Solo al acceder a él byte a byte? ¿Si accedemos sizeof(tipo
de dato) a sizeof(tipo de dato) el propio kernel nos lo 'ordena'?

Venga lowlevel-eros, una miniexplicación.

-- 
Jon Fernández Ellacuría

jonferna en tecnologico.deusto.es



Más información sobre la lista de distribución eside-ghost