elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: Como hacer que un bucle se ejecute durante X milisegundos en linux en: 17 Agosto 2012, 22:20 pm
no, con usleep() no hay forma de controlar que el bucle se ejecute durante exactamente X milisegundos, ya que las funciones que leen por teclado y estas cosas hacen "perder el tiempo" al procesador. Seria question de antes de entrar al bucle preguntarle al sistema la "hora" y luego a cada aliteracion del bucle mirar la hora que es y mirar si se ha pasado del tiempo
2  Programación / Programación C/C++ / Como hacer que un bucle se ejecute durante X milisegundos en linux en: 17 Agosto 2012, 20:59 pm
Hola, voy directamente al grano, estoy intentando ejecutar un bucle durante X milisegundos en linux, en windows lo he conseguido hacer así:

Código
  1.  
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5. #include <unistd.h>
  6. #include <time.h>
  7. #include "funciones.h"
  8.  
  9.  char iesperaMirandoTecla(int milisegundos){ //Hace esperar "milisegundos" milisegundos mientras va mirando por teclado si se esta pulsando alguna tecla
  10.        char caracter='\0';
  11.        int contador=0;
  12.        clock_t final=clock()+(milisegundos*(CLOCKS_PER_SEC/1000));
  13.        init_keyboard();
  14.        while(( clock() < final) && (caracter=='\0')){
  15.            if(kbhit()){
  16.                caracter = readch();
  17.                printf("\b ");
  18.            }
  19.            esperaMilisegundos(1);
  20.            contador++;
  21.        }
  22.        close_keyboard();
  23.        return caracter;
  24.    }

pero en linux pongo lo mismo y no funciona, en principio todo(vale casi todo lo del teclado no) esta en ANSI C y en linux no me funciona y no logro entender y no logro saber el porque ..., ¿alguien tiene alguna idea?

Gracias de antemano

P:D: Aclaración: Seria question de antes de entrar al bucle preguntarle al sistema la "hora" y luego a cada aliteracion del bucle mirar la hora que es y mirar si se ha pasado del tiempo
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines