Функција Цлоцк() у језику Ц

Funkcija Clock U Jeziku C



У ово Линук савет чланак, показаћемо вам како да користите сат() функција, један од ресурса доступних у језику Ц, за мерење времена извршења одређеног процеса или нити.

Иако се ови делови времена чине безначајним, постоје критични случајеви у којима су способност мерења и израчунавања ових малих делова времена критични фактори у тачности самог система или процеса. Даћемо теоријски опис како сат() дела, објасни његов рад и мерне јединице које користи у ту сврху.







Затим, користећи практичне примере који укључују фрагменте кода и слике, видећемо како можете да имплементирате ову функцију на јасан и детаљан начин за мерење критичних времена у процесима у реалном времену у различитим системима.



Синтакса функције Цлоцк():



цлоцк_т цлоцк ( празнина )





Опис функције Цлоцк() на језику Ц

Функција цлоцк() је празна када се позове. Не садржи улазне аргументе и враћа број откуцаја сата у „цлоцк_т“ у време позива.

Бројање импулса почиње од нуле када се апликација покрене и наставља се све док корисник или систем не изађу из ње, враћајући се на нулу преливањем на отприлике свака 72 минута. Функција цлоцк() не модификује нити има контролу над овим бројачем; своју вредност добија тек када се позове.



Да бисмо измерили укупно време извршавања програма, треба да позовемо цлоцк() само једном на крају програма. Да бисмо измерили време протекло од једне тачке програма до друге, треба да позовемо функцију цлоцк( ) и израчунамо два добијена податка.

Израчунавање за одређивање протеклог тикова између два позива сат() функција се врши одузимањем резултата првог позива од резултата другог позива. Хајде да погледамо пример да одредимо колико је времена протекло од једне тачке програма до друге.

Тхе сат() функција је дефинисана у функцијама заглавља “тиме.х”. Морамо га укључити у нашу “.ц” или “.х” датотеку кода, као што је приказано на следећој слици, да бисмо га користили.

#инцлуде <тиме.х>

Како пребацити откуцаје протеклог сата из једне тачке у програму на другу помоћу функције Цлоцк()

У овом примеру ћемо видети како да добијемо број протеклих тикова од једне тачке у програму до друге. Ове две тачке одговарају једном од два позива на сат() функцију, респективно. Да бисмо ово разумели, погледајмо следећи код:





#инцлуде <стдио.х>

#инцлуде <тиме.х>



воид маин ( )



{

цлоцк_т тицкс_ини, тицкс_енд;

дупли  тикови;

тицкс_ини = сат ( ) ; // мери почетак

принтф ( „тицкс инит мере  %лд ' , тицкс_ини ) ;

за ( инт а = 0 ; а < = 456450 ; а++ ) ;



тицкс_енд = сат ( ) ; // мера стоп

тицкс = тицкс_енд - тицкс_ини;

принтф ( „завршна мера крпеља  %лд ' ,  тицкс_енд ) ;

принтф ( „тикови су протекли између мере  %ф ' ,  крпељи ) ;

повратак ;

}



Прво, креирамо две варијабле, тицкс_ини и тицкс_енд , у који чувамо резултат цлоцк() у његова два позива. Израчунавамо га да бисмо добили број протеклих тикова и цео број крпеља , у који складиштимо коначан резултат укупно протеклог тикова.

Затим, зовемо сат() функција у нашем „главном“ и преузима претходно дефинисане откуцаје сата у тицкс_ини променљива која је протекла од почетка програма до првог позива ове функције. Користимо функцију принтф() да прикажемо ову вредност.

После овог одлагања, које смо креирали са за , зовемо сат() функцију по други пут да добијете број крпеља до ове тачке. Резултат шаљемо на екран помоћу функције принтф(). Затим добијамо резултат тачног броја тикета који је прошао између првог и другог позива на сат() одузимањем тицкс_ини из тицкс_енд и чување резултата у променљивој тикови, које шаљемо у конзолу помоћу принтф().

На овај начин добијамо квачице које су прошле од једне тачке до друге у коду.

Како претворити број добијених тикова у секунде помоћу функције Цлоцк().

Када добијемо број тикета који је протекао од почетка програма или од једне тачке до друге, можемо да конвертујемо ово време изражено у тиковима у секунде тако што ћемо резултат претходног примера поделити унапред дефинисаном константом у времену.х САТОВИ _ПЕР_ СЕЦ, као што је приказано у следећем исечку:

тицкс = ( тицкс_енд - тицкс_ини ) / ( дупло ) ЦЛОЦКС_ПЕР_СЕЦ;

принтф ( „тикови су протекли у секундама између мере  %ф ' ,  крпељи ) ;

Закључак

У ово Линук савет чланку, показали смо вам како да примените сат() функција за мерење времена у тактовима системског сата. Такође смо објаснили како можете да мерите сва или део ових времена у оквиру покренуте апликације. Показали смо вам како да конвертујете резултате у секунде. Надамо се да вам је овај чланак био користан. Више савета о језику Ц можете пронаћи у нашим чланцима које можете пронаћи помоћу претраживача на веб локацији.