Функция Clock() на языке C

Funkcia Clock Na Azyke C



В этом Подсказка для Linux статье, мы покажем вам, как использовать Часы() функция, один из ресурсов, доступных на языке C, для измерения времени выполнения определенного процесса или потока.

Хотя эти доли времени кажутся незначительными, есть критические случаи, когда способность измерять и вычислять эти небольшие доли времени является критическим фактором точности системы или самого процесса. Мы дадим теоретическое описание того, как Часы() работает, объясните его работу и единицы измерения, которые он использует для этой цели.







Затем на практических примерах, включающих фрагменты кода и изображения, мы увидим, как можно реализовать эту функцию понятным и подробным образом для измерения критических моментов в процессах реального времени в различных системах.



Синтаксис функции Clock():



clock_t часы ( пустота )





Описание функции Clock() на языке C

Функция clock() пуста при вызове. Он не содержит входных аргументов и возвращает количество тиков часов в «clock_t» во время вызова.

Счетчик импульсов начинается с нуля при запуске приложения и продолжается до тех пор, пока пользователь или система не выйдет из него, сбрасываясь до нуля при переполнении примерно каждые 72 минуты. Функция clock() не изменяет и не контролирует этот счетчик; он получает свое значение только при вызове.



Чтобы измерить общее время выполнения программы, нам нужно вызвать clock() только один раз в конце программы. Чтобы измерить время, прошедшее от одной точки программы до другой, нам нужно вызвать функцию clock() и вычислить два полученных данных.

Расчет для определения прошедших тиков между двумя вызовами Часы() Функция выполняется путем вычитания результата первого вызова из результата второго вызова. Давайте рассмотрим пример, чтобы определить количество прошедшего времени от одной точки программы до другой.

Часы() функция определена в функциях заголовка «time.h». Мы должны включить его в наш файл кода «.c» или «.h», как показано на следующем рисунке, чтобы использовать его.

#include <время.ч>

Как получить прошедшие такты часов из одной точки программы в другую с помощью функции Clock()

В этом примере мы увидим, как получить количество прошедших тиков от одной точки программы до другой. Эти две точки соответствуют одному из двух обращений к Часы() функцию соответственно. Чтобы понять это, давайте посмотрим на следующий код:





#include

#include <время.ч>



пустая функция ( )



{

clock_t ticks_ini, ticks_end;

двойные галочки;

ticks_ini = часы ( ) ; // начало измерения

printf ( 'отмечает начальную меру %ld \n ' , ticks_ini ) ;

за ( инт а знак равно 0 ; а < знак равно 456450 ; а++ ) ;



ticks_end = часы ( ) ; // мерная остановка

тики = тики_конец - тики_ини;

printf ( 'отмечает конечную меру  %ld \n ' , ticks_end ) ;

printf ( 'прошло тактов между мерой  %f \n ' , галочки ) ;

возвращаться ;

}



Сначала мы создаем две переменные, ticks_ini а также ticks_end , в котором мы сохраняем результат clock() в двух его вызовах. Мы вычисляем его, чтобы получить количество прошедших тиков и целое число клещи , в котором мы храним окончательный результат общего количества прошедших тиков.

Затем мы вызываем Часы() функцию в нашем «основном» и получить ранее определенные тики часов в ticks_ini переменная, прошедшая с момента запуска программы до первого вызова этой функции. Мы используем функцию printf() для отображения этого значения.

После этой задержки, которую мы создали с помощью за , мы называем Часы() функцию во второй раз, чтобы получить количество тиков до этой точки. Мы выводим результат на экран с помощью функции printf(). Затем мы получаем результат точного количества тиков, прошедших между первым и вторым вызовами Часы() путем вычитания ticks_ini из ticks_end и сохранение результата в переменной ticks, которую мы выводим на консоль с помощью printf().

Таким образом, мы получаем тики, прошедшие от одной точки кода до другой.

Как преобразовать количество полученных тиков в секунды с помощью функции Clock()

Когда у нас есть количество тиков, прошедших с момента запуска программы или от одной точки до другой, мы можем преобразовать это время, выраженное в тиках, в секунды, разделив результат предыдущего примера на предопределенную константу в time.h. ЧАСЫ _PER_ SEC, как показано в следующем фрагменте:

тики = ( ticks_end - ticks_ini ) / ( двойной ) CLOKS_PER_SEC;

printf ( 'прошло тактов в секундах между измерением  %f \n ' , галочки ) ;

Вывод

В этом Подсказка для Linux статье, мы показали вам, как реализовать Часы() функция измерения времени в тиках системных часов. Мы также объяснили, как вы можете измерить все это время или его часть в работающем приложении. Мы показали вам, как преобразовать результаты в секунды. Мы надеемся, что вы нашли эту статью полезной. Вы можете найти больше советов о языке C в наших статьях, которые вы можете найти с помощью поисковой системы веб-сайта.