#!/usr/local/bin/tcc -run #include #include #include #include #include struct termios otm,ntm; struct timeval tv, start; int main(void) { sleep(5); int milli; char c; if(tcgetattr(0,&otm)<0){exit(1);} ntm=otm; cfmakeraw(&ntm); ntm.c_oflag |=ONLCR|OPOST; ntm.c_lflag &= ~(ICANON|ECHO); if(tcsetattr(0,TCSANOW,&ntm)<0){exit (1);} printf("go\n"); gettimeofday(&start,0); c=getchar(); gettimeofday(&tv,0); milli=(tv.tv_sec-start.tv_sec)*1000+(tv.tv_usec-start.tv_usec)/1000; printf("[%c] %d ms\n",c,milli); c=getchar(); gettimeofday(&tv,0); milli=(tv.tv_sec-start.tv_sec)*1000+(tv.tv_usec-start.tv_usec)/1000; printf("[%c] %d ms\n",c,milli); tcsetattr(0,TCSANOW,&otm); printf("fin.\n"); return 0; }