Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Menu

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menu

Mensajes - 16BITBoy

#46
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:


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:

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 :



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!
#47
Buenas, pues tengo esa curiosidad, y no me refiero a que "Lenguaje de programación" usais, sino que idioma (los que sepais almenos uno mas, sobre todo inglés) usais cuando vais a escribir por ejemplo el nombre de un procedimiento o variable, o los comentarios y documentación.

Resulta, y por eso tengo la curiosidad, de que yo no se si escribr en español o en ingles por que, hago las dos cosas xD, vereis hay nombres y cosas que a la hora de dar nombre a una variable por ejemplo me es mas corto en ingles y es mas comodo asi de escribir, k en español alomejor es mas largo y queda mas feo al acortarlo. Otras veces por comodidad lo hago en español. Esto hace que el codigo quede bastante raro xDD.

Los comentarios los hago en español, pero por ejemplo, si alguna vez distribuyo el código de lo que estoy desarrollando, seria un problema, ya que el ingés digamos que es el k esta mas internacionalizado y esta a la orden del dia en todos lados.

¿y ustedes como lo haceis?

Un saludo!





Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.