Clock() Function sa C Language

Clock Function Sa C Language



Dito sa Hint sa Linux artikulo, ipapakita namin sa iyo kung paano gamitin ang orasan() function, isa sa mga mapagkukunang magagamit sa wikang C, upang sukatin ang mga oras ng pagpapatupad ng isang partikular na proseso o thread.

Bagama't mukhang hindi gaanong mahalaga ang mga bahaging ito ng oras, may mga kritikal na kaso kung saan ang kakayahang sukatin at kalkulahin ang maliliit na bahaging ito ng oras ay mga kritikal na salik sa katumpakan ng system o proseso mismo. Magbibigay kami ng isang teoretikal na paglalarawan kung paano orasan() gumagana, ipaliwanag ang operasyon nito at ang mga yunit ng pagsukat na ginagamit nito para sa layuning ito.







Pagkatapos, gamit ang mga praktikal na halimbawa na kinabibilangan ng mga fragment ng code at mga larawan, makikita namin kung paano mo maipapatupad ang function na ito sa isang malinaw at detalyadong paraan upang sukatin ang mga kritikal na oras sa mga real-time na proseso sa iba't ibang mga system.



Clock() Function Syntax:



orasan_t orasan ( walang bisa )





Paglalarawan ng Function ng Clock() sa C Language

Ang clock() function ay walang laman kapag tinawag. Hindi ito naglalaman ng mga input argument at ibinabalik ang bilang ng mga ticks ng orasan sa 'clock_t' sa oras ng tawag.

Ang bilang ng pulso ay nagsisimula sa zero kapag nagsimula ang application at magpapatuloy hanggang sa lumabas ang user o ang system dito, na nagre-reset sa zero sa pamamagitan ng overflow sa humigit-kumulang bawat 72 minuto. Ang clock() function ay hindi nagbabago o may kontrol sa counter na ito; nakukuha lamang nito ang halaga kapag tinawag.



Upang sukatin ang kabuuang oras ng pagpapatupad ng programa, kailangan nating tawagan ang orasan() isang beses lamang sa pagtatapos ng programa. Upang sukatin ang oras na lumipas mula sa isang punto ng programa patungo sa isa pa, kailangan nating tawagan ang clock() function at kalkulahin ang dalawang nakuhang data.

Ang pagkalkula upang matukoy ang mga lumipas na ticks sa pagitan ng dalawang tawag ng orasan() Ang function ay ginagawa sa pamamagitan ng pagbabawas ng resulta ng unang tawag mula sa resulta ng pangalawang tawag. Tingnan natin ang isang halimbawa upang matukoy ang dami ng lumipas na oras mula sa isang punto ng programa patungo sa isa pa.

Ang orasan() Ang function ay tinukoy sa 'time.h' na mga function ng header. Dapat namin itong isama sa aming '.c' o '.h' code file, tulad ng ipinapakita sa sumusunod na larawan, upang magamit ito.

#include

Paano Kunin ang Lumipas na Mga Tick ng Orasan mula sa Isang Punto sa Programa patungo sa Isa pa gamit ang Clock() Function

Sa halimbawang ito, makikita natin kung paano makuha ang bilang ng mga lumipas na tik mula sa isang punto sa programa patungo sa isa pa. Ang dalawang puntong ito ay tumutugma sa isa sa dalawang tawag sa orasan() function, ayon sa pagkakabanggit. Upang maunawaan ito, tingnan natin ang sumusunod na code:





#include

#include



walang laman ang pangunahing ( )



{

clock_t ticks_ini, ticks_end;

dobleng tik;

ticks_ini = orasan ( ) ; // sukatin ang simula

printf ( 'Ticks init measure  %ld \n ' , ticks_ini ) ;

para sa ( int a = 0 ; a < = 456450 ; isang++ ) ;



ticks_end = orasan ( ) ; // sukat na huminto

ticks = ticks_end - ticks_ini;

printf ( 'ticks end measure %ld \n ' ,  ticks_end ) ;

printf ( 'Nakalipas ang mga tik sa pagitan ng sukat  %f \n ' ,  ticks ) ;

bumalik ;

}



Una, lumikha kami ng dalawang variable, ticks_ini at ticks_end , kung saan iniimbak namin ang resulta ng clock() sa dalawang tawag nito. Kinakalkula namin ito upang makuha ang bilang ng mga lumipas na ticks at ang integer ticks , kung saan iniimbak namin ang huling resulta ng kabuuang lumipas na mga tik.

Pagkatapos, tinatawagan namin ang orasan() function sa aming 'pangunahing' at kunin ang naunang tinukoy na clock ticks sa ticks_ini variable na lumipas mula noong simula ng programa hanggang sa unang tawag sa function na ito. Ginagamit namin ang function na printf() upang ipakita ang halagang ito.

Pagkatapos ng pagkaantala na ito, na ginawa namin gamit ang para sa , tinatawag namin ang orasan() function para sa pangalawang pagkakataon upang makuha ang bilang ng mga ticks hanggang sa puntong ito. Inilalabas namin ang resulta sa screen gamit ang printf() function. Pagkatapos ay makukuha namin ang resulta ng eksaktong bilang ng mga tik na lumipas sa pagitan ng una at pangalawang tawag sa orasan() sa pamamagitan ng pagbabawas ticks_ini mula sa ticks_end at pag-iimbak ng resulta sa variable ticks, na ilalabas namin sa console na may printf().

Sa ganitong paraan, nakukuha namin ang mga ticks na lumipas mula sa isang punto patungo sa isa pa sa code.

Paano I-convert ang Bilang ng mga Ticks na Nakuha sa Mga Segundo gamit ang Clock() Function

Kapag mayroon na kaming bilang ng mga tik na lumipas mula noong nagsimula ang programa o mula sa isang punto patungo sa isa pa, maaari naming i-convert ang oras na ito na ipinahayag sa mga tik sa mga segundo sa pamamagitan ng paghahati sa resulta ng nakaraang halimbawa sa paunang natukoy na pare-pareho sa oras.h MGA Orasan _PER_ SEC, tulad ng ipinapakita sa sumusunod na snippet:

ticks = ( ticks_end - ticks_ini ) / ( doble ) CLOCKS_PER_SEC;

printf ( ' lumipas ang mga tik sa mga segundo sa pagitan ng sukat  %f \n ' ,  ticks ) ;

Konklusyon

Dito sa Hint sa Linux artikulo, ipinakita namin sa iyo kung paano ipatupad ang orasan() function na upang gawin ang mga sukat ng oras sa mga ticks ng system clock. Ipinaliwanag din namin kung paano mo masusukat ang lahat o bahagi ng mga oras na ito sa loob ng tumatakbong application. Ipinakita namin sa iyo kung paano i-convert ang mga resulta sa mga segundo. Umaasa kami na nakita mong kapaki-pakinabang ang artikulong ito. Makakahanap ka ng higit pang mga tip tungkol sa wikang C sa aming mga artikulo na mahahanap mo gamit ang search engine ng website.