[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