Buenas, pues tengo un problema muy extraño, resulta que estoy codificando una clase, y luego la uso en el codigo creando un objeto de el.
Esta clase, por donde sea aunque a ojo no lo encunetro, tiene que tener un fallo, pero lo curioso es que cunado ejecuto el modo debug (GDB) el programa se ejecuta perfectamente xDD.
Me da que algo ocurre que el GDB esta haciendo debug de alguna compilación anterior a la actual pues mediante GDB no detecto nada. Aunque puede que no... hago un paso a paso donde creo puede estar el error y nada extraño ocurre. Ni desbordamientos ni nada parecido, y el programa se ejecuta a las mil maravillas. Vereis tengo esto:
la clase sigue, pero el problema no puede estar fuera de esto, pues no llega a ejecutar ninguna otra función que no sea el constructor.
en mi otro procedimiento, creo un objeto de esta clase:
Uso el ide Code::Blocks 8.02 junto con mingw, y la libreria allegro.
Aver si alguen se le ocurre de que puede ser, a mi ya me tiene mareado xD, aun sigo buscando el porque, y lo que aun siendo tan extraño error, me sigue pareciendo una tonteria que estará por ahi y no la veo, aun asi he dedicido dejar este tema aqui aver si alguen puede hecharme una mano, por que es que llevo ya buen tiempo mirandomelo todo y no doy con el problema.
Decir tambien que si quito la línea :
el programa se ejecuta con normalidad, por lo que el problema con mas razón debe estar en la clase que dije antes, pero donde, y mas dificil es encontrarlo si el debug no me dice ningun error, por mucha variable que inspeccione.
Un Saludo!
Esta clase, por donde sea aunque a ojo no lo encunetro, tiene que tener un fallo, pero lo curioso es que cunado ejecuto el modo debug (GDB) el programa se ejecuta perfectamente xDD.
Me da que algo ocurre que el GDB esta haciendo debug de alguna compilación anterior a la actual pues mediante GDB no detecto nada. Aunque puede que no... hago un paso a paso donde creo puede estar el error y nada extraño ocurre. Ni desbordamientos ni nada parecido, y el programa se ejecuta a las mil maravillas. Vereis tengo esto:
Código [Seleccionar]
class KEYBOARD_EVENTS
{
private:
class KEY_EVENTS
{
public:
int value;
int event_suceeded;
int event_type;
};
public:
KEY_EVENTS keyevents[128];
KEYBOARD_EVENTS()
{
int i;
for (i=0; i<=128; i++)
{
keyevents[i].value = 0;
keyevents[i].event_suceeded = 0;
keyevents[i].event_type = 0;
}
}
la clase sigue, pero el problema no puede estar fuera de esto, pues no llega a ejecutar ninguna otra función que no sea el constructor.
en mi otro procedimiento, creo un objeto de esta clase:
Código [Seleccionar]
void init_gameloop()
{
LOCK_VARIABLE(speed_counter);
LOCK_FUNCTION(increment_speed_counter);
LOCK_VARIABLE(fps);
LOCK_VARIABLE(frame_count);
LOCK_FUNCTION(fps_proc);
install_int_ex(increment_speed_counter, BPS_TO_TIMER(30));
install_int(fps_proc, 1000);
kbEvents = new KEYBOARD_EVENTS(); // <<-- AQUI LO CREO
buffer = create_bitmap(vConf->w,vConf->h);
// Finally, enter the game loop
gameloop();
// Removing timers, we dont need them anymore
remove_int(increment_speed_counter);
remove_int(fps_proc);
}
Uso el ide Code::Blocks 8.02 junto con mingw, y la libreria allegro.
Aver si alguen se le ocurre de que puede ser, a mi ya me tiene mareado xD, aun sigo buscando el porque, y lo que aun siendo tan extraño error, me sigue pareciendo una tonteria que estará por ahi y no la veo, aun asi he dedicido dejar este tema aqui aver si alguen puede hecharme una mano, por que es que llevo ya buen tiempo mirandomelo todo y no doy con el problema.
Decir tambien que si quito la línea :
Código [Seleccionar]
kbEvents = new KEYBOARD_EVENTS(); // <<-- AQUI LO CREO
el programa se ejecuta con normalidad, por lo que el problema con mas razón debe estar en la clase que dije antes, pero donde, y mas dificil es encontrarlo si el debug no me dice ningun error, por mucha variable que inspeccione.
Un Saludo!