Fecha actual Mié Jun 26, 2024 12:43 pm

Todos los horarios son UTC + 1 hora [ DST ]




Nuevo tema Responder al tema  [ 2 mensajes ] 
Autor Mensaje
 Asunto:
NotaPublicado: Mar Nov 15, 2005 5:36 pm 
Site Admin
Avatar de Usuario

Registrado: Jue Oct 06, 2005 10:49 pm
Mensajes: 655
Ubicación: España - Salamanca
Rodrigo,

Tu idea es muy buena, el problema está en que en C el tamaño de la estructura tiene que ser exacto ya que se accede a los datos a través del desplazamiento de cada miembro. Intentar convertir un número xBase a un número en C automáticamente no es posible por el tamaño de los datos, podría ser WORD (2 bytes), int LONG, ULONG, DWORD, etc (4 bytes), double (8 bytes)... no es posible hacerlo automáticamente y encima entra en juego la alineación que haga el compilador con esos datos (inserta bytes dicionales a la estructura para que esté alineada en memoria).

Otra cosa es hacerlo para una estructura determinada, en tu caso la estructura RECT, es fácil, tan sólo hay que generar unos cuantos bytes, 16 concretamente, 4 enteros seguidos, pero el propio código de generar esos bytes sería casi el mismo que el usar el sistema extendido para acceder a los datos del array (como lo haces en tu ejemplo) y quedaría más complicado de leer.

Las funciones del sistema extendido no son nada complejas y no consumen apenas instrucciones, se dedican a adaptar tipos de datos básicamente, no te debe dar apuro usarlas, es la vía más segura para compartir detos entre xBase y otros lenguajes.

_________________
Un saludo,
Bruno Cantero
www.c3compiler.com


Arriba
 Perfil  
Responder citando  
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 2 mensajes ] 

Todos los horarios son UTC + 1 hora [ DST ]


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Buscar:
Saltar a:  
cron