Programación General > C++ Builder
Interrupciones
Beldwir:
La unión REGS está definida en el archivo de cabecera dos.h de la siguiente manera:
struct WORDREGS
{
unsigned int ax, bx, cx, dx, si, di, flags ; //OJO! Fíjate que carecen de la 'e' (eax, ebx...) es porque se tratan como registros de un procesador de 16 bits, ahí está el problema.
};
struct BYTEREGS
{
unsigned char al, ah, bl, bh, cl, ch, dl, dh ;
};
union REGS
{
WORDREGS x ;
BYTEREGS h ;
};
No funciona con C++Builder porque éste utiliza un compilador de 32bits y en la versión dos.h de 32bits no se encuentra definida esta unión, para que te funcione el código debes compilarlo con un compilador de 16bits como el Turbo C++ de Borland que trabaja a 16bits.
Un saludo y Suerte... :hola:
Mig-el:
Ya consegui el compilador y todo funciono perfecto, gracias.
carquemo:
Hola Miq-el
cuando dices que funciono, ¿te refieres tambien a las interrupciones?, si es asi, te pediría que me dijeras, como se cambia el vector de una interrupcion (en Builder por supuesto y tanto interrupcion hardware como software) para que funcione en XP, para poder hacer, por ejemplo, el tipico reloj que en MSDOS y hasta W Me funcionaba acoplado al reloj del sistema, es que pretendo hacer una placa de adquisición de datos y me hace falta saber esto.
Gracias.
JuanK:
en windows 2000 o windows xp, pueden usar el djgpp y alli podran usar interrupciones al estilo del turboc (todo gracias a que ionternamente el djgpp emula un dos corriendo sobre plataforma de 16 bit)
Navegación
[*] Página Anterior
Ir a la versión completa