C 언어의 Clock() 함수

C Eon Eoui Clock Hamsu



이에 리눅스 힌트 기사, 우리는 당신에게 사용 방법을 보여줄 것입니다 시계() 함수는 특정 프로세스나 스레드의 실행 시간을 측정하기 위해 C 언어에서 사용 가능한 리소스 중 하나입니다.

이러한 시간은 중요하지 않은 것처럼 보이지만 이러한 작은 시간을 측정하고 계산하는 능력이 시스템 또는 프로세스 자체의 정확성에 중요한 요소인 중요한 경우가 있습니다. 방법에 대한 이론적 설명을 제공합니다. 시계() 이 목적을 위해 사용하는 측정 단위와 작동 방법을 설명하십시오.







그런 다음 코드 조각과 이미지가 포함된 실제 예제를 사용하여 이 기능을 명확하고 상세하게 구현하여 다른 시스템의 실시간 프로세스에서 임계 시간을 측정하는 방법을 살펴봅니다.



Clock() 함수 구문:



clock_t 시계 ( 무효의 )





C 언어로 된 Clock() 함수 설명

clock() 함수는 호출될 때 비어 있습니다. 여기에는 입력 인수가 포함되어 있지 않으며 호출 시 시계의 틱 수를 'clock_t'에 반환합니다.

펄스 카운트는 응용 프로그램이 시작될 때 0에서 시작하여 사용자 또는 시스템이 종료할 때까지 계속되며 약 72분마다 오버플로우에 의해 0으로 재설정됩니다. clock() 함수는 이 카운터를 수정하거나 제어하지 않습니다. 호출될 때만 값을 얻습니다.



프로그램의 총 실행 시간을 측정하려면 프로그램 종료 시 clock()을 한 번만 호출하면 됩니다. 프로그램의 한 지점에서 다른 지점까지 경과된 시간을 측정하려면 clock( ) 함수를 호출하고 얻은 두 데이터를 계산해야 합니다.

의 두 호출 사이에 경과된 틱을 결정하기 위한 계산 시계() 함수는 두 번째 호출의 결과에서 첫 번째 호출의 결과를 빼서 수행됩니다. 프로그램의 한 지점에서 다른 지점까지의 경과 시간을 결정하는 예를 살펴보겠습니다.

그만큼 시계() 함수는 'time.h' 헤더 함수에 정의되어 있습니다. 이를 사용하려면 다음 이미지와 같이 '.c' 또는 '.h' 코드 파일에 포함해야 합니다.

#include <시간.h>

Clock() 함수를 사용하여 프로그램의 한 지점에서 다른 지점으로 경과된 클록 틱을 가져오는 방법

이 예제에서는 프로그램의 한 지점에서 다른 지점까지 경과된 틱 수를 얻는 방법을 살펴봅니다. 이 두 지점은 두 호출 중 하나에 해당합니다. 시계() 기능, 각각. 이를 이해하기 위해 다음 코드를 살펴보겠습니다.





#include

#include <시간.h>



무효 메인 ( )



{

clock_t ticks_ini, ticks_end;

더블 틱;

ticks_ini = 시계 ( ) ; // 측정 시작

printf ( '틱 초기화 측정 %ld \N ' , ticks_ini ) ;

~을 위한 ( 정수 = 0 ; ㅏ < = 456450 ; ++ ) ;



ticks_end = 시계 ( ) ; // 측정 중지

틱 = 틱_끝 - 틱_ini;

printf ( '틱 종료 측정 %ld \N ' , ticks_end ) ;

printf ( '%f 측정 사이에 경과된 틱 \N ' , 진드기 ) ;

반품 ;

}



먼저 두 개의 변수를 생성합니다. ticks_ini 그리고 ticks_end 여기서 우리는 clock()의 결과를 두 번의 호출에 저장합니다. 경과된 틱 수와 정수를 얻기 위해 계산합니다. 진드기 , 여기에 총 경과된 틱의 최종 결과를 저장합니다.

그런 다음 시계() 'main'에서 기능을 수행하고 이전에 정의된 클록 틱을 검색합니다. ticks_ini 프로그램 시작부터 이 함수를 처음 호출할 때까지 경과된 변수입니다. printf() 함수를 사용하여 이 값을 표시합니다.

우리가 만든 이 지연 후 ~을 위한 , 우리는 시계() 함수를 두 번 실행하여 이 시점까지의 틱 수를 가져옵니다. printf() 함수를 사용하여 결과를 화면에 출력합니다. 그런 다음 첫 번째 호출과 두 번째 호출 사이에 경과된 정확한 틱 수의 결과를 얻습니다. 시계() 빼서 ticks_ini ~에서 ticks_end 그리고 결과를 변수 ticks에 저장하고 printf()를 사용하여 콘솔에 출력합니다.

이 방법으로 코드의 한 지점에서 다른 지점으로 경과한 틱을 얻습니다.

Clock() 함수를 사용하여 얻은 틱 수를 초로 변환하는 방법

프로그램이 시작된 이후 또는 한 지점에서 다른 지점으로 경과한 틱 수를 알게 되면 이전 예제의 결과를 미리 정의된 time.h 상수로 나누어 틱으로 표현된 이 시간을 초로 변환할 수 있습니다. CLOCKS_PER_초, 다음 스니펫과 같이

진드기 = ( ticks_end - ticks_ini ) / ( 더블 ) CLOCKS_PER_SEC;

printf ( '%f 측정 사이에 초 단위로 경과된 틱 \N ' , 진드기 ) ;

결론

이에 리눅스 힌트 기사에서는 시계() 시스템 시계의 틱 단위로 시간을 측정하는 기능. 또한 실행 중인 애플리케이션 내에서 이러한 시간의 전부 또는 일부를 측정하는 방법에 대해서도 설명했습니다. 결과를 초 단위로 변환하는 방법을 보여 드렸습니다. 이 기사가 도움이 되었기를 바랍니다. 웹 사이트의 검색 엔진을 사용하여 찾을 수 있는 기사에서 C 언어에 대한 더 많은 팁을 찾을 수 있습니다.