PDA

Ver la versión completa : ¿qué significan estas 3 lineas?



anibarro
09/04/2005, 15:56
Hola buenas, estaba intentando hacer funcionar un programilla en c para la gp32, y he conseguido "transformarlo" todo menos este union, que no acabo de entender bien que hace, a ver si alguien puede ayudarme :rolleyes:



typedef union register32_8 // simulate a byte accessable 32-bit register
{
int dword;
_bytes bytes;
} register32_8;


lo q no entiendo principalmente es q es "_bytes", dice q con ese struct simula un registro de 32 bits accesible a cada byte, pero es q es muy criptica la forma de escribirlo para mi xD
El gcc da un warning en la definicion "declaration does not declare anything" y claro, luego al encontrar una llamada como "cval.dword = buf1[x].c << 8;" me dice "parse error before long"...¿alguien me explica un poco como va esto para ver si se puede hacer un apaño para q compile para gp32? asias :D :brindis:

edit: estoy ciego :S no habia visto q define _bytes antes:


typedef struct // 4 byte division for union use
{
char b1, b2, b3, b4;
} _bytes;


en teoria ese tipo de datos hace q pueda usarse un int o un _byte, pero no entiendo pq el compilador dice q no declara nada :S

Edit2: Parezco tonto hablando solo pero weno xDDD no se pq pero cambiando el nombre de dword a otra cosa funciona...debia estar cogido y no me avisa :/ ahora compila para pc y gp32, para pc funciona y para la gp da errores en el emu y reinicia la consola xD seguire probando