Ver Mensaje Individual
  #9 (permalink)  
Antiguo 29/04/2006, 07:57
MaxExtreme
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años, 8 meses
Puntos: 17
Claro, o simplemente como le dije en otro post, crear una clase "quizás-no-portable" que represente los campos de bits, y luego, cada plataforma que la implemente como pueda, tanto con campos de bits, como con variables a pelo.

C es universal, sí, pero no significa que sea portable en todos los aspectos. Por ejemplo:

Otra cosa que me cabreó hace años al leer a mano imágenes, la función estándar fread() para leer bloques de información, como por ejemplo un array de structs, depende del mínimo de alineación de memoria asignado. Es decir, VC++6 por defecto ponía 4 bytes, declarases la variable que declarases, pero si en la struct tenías un short, o un char, ya la había tramado. Total, o lo hacías a mano, o reducías el mínimo a 1 byte, cosa poco recomandable.

¿Portable? Pues la función fread() lo es, al igual que los campos de bits, pero su funcionamiento puede variar inesperadamente.

Última edición por MaxExtreme; 29/04/2006 a las 08:02