Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

Linux에서 C++를 사용하여 밀리초 단위로 시간을 얻는 방법은 무엇입니까?

<시간/>

여기에서 시간(프로그램의 경과 시간 또는 다른 종류의 시간)을 얻는 방법을 볼 것입니다.

여기서는 C++용 Linux 라이브러리를 사용하고 있습니다. timeval이라는 구조가 있습니다. 이 timeval은 시간을 초, 밀리초 단위로 저장합니다. 시작과 끝을 위한 두 개의 시간을 만든 다음 차이점을 찾을 수 있습니다.

예시

#include <sys/time.h>
#include <iostream>
#include <unistd.h>
using namespace std;
main() {
   struct timeval start_time, end_time;
   long milli_time, seconds, useconds;
   gettimeofday(&start_time, NULL);
   cout << "Enter something: ";
   char ch;
   cin >> ch;
   gettimeofday(&end_time, NULL);
   seconds = end_time.tv_sec - start_time.tv_sec; //seconds
   useconds = end_time.tv_usec - start_time.tv_usec; //milliseconds
   milli_time = ((seconds) * 1000 + useconds/1000.0);
   cout << "Elapsed time: " << milli_time <<" milliseconds\n";
}

출력

Enter something: h
Elapsed time: 2476 milliseconds