Nais mo bang gumawa ng isang C program na maghintay para sa isang tiyak na oras?
Maaari kang mag-set up ng isang diskarte upang maglaan ng oras upang mag-tick away, halimbawa: kapag nagpapakita ng isang pahina ng splash (isang paunawa o pahiwatig) para sa isang laro.
Okay, narito ang ilang mga paraan upang gawing "tumahimik" ang programa, basahin sa…
Mga hakbang
Hakbang 1. Gawin ang iyong CPU sa loob ng ilang oras nang hindi gumagawa ng anumang kapansin-pansin na kaganapan
Hakbang 2. Huwag gumawa ng iba pang operasyon sa pagkaantala na iyon, upang makalikha ng isang simpleng pagkaantala ng oras
Paraan 1 ng 2: Ang pamamaraan na "for-loop"
Hakbang 1. Gumamit ng isang tipikal na "para sa" loop na sinusundan ng isang null na pahayag upang ipatupad ang pagkaantala ng oras
Hakbang 2. Sumulat ng sumusunod, halimbawa:
- para sa (i = 1; i <100; i ++);
- Ang pahayag na sinundan ng ";" Ginagawa ang computer na magpatupad ng loop ng 100 beses nang walang anumang kapansin-pansin na kaganapan. Lumilikha lamang ito ng pagkaantala ng oras.
Paraan 2 ng 2: Ang pamamaraan na "pagtulog ()"
Hakbang 1. Gumamit ng pagtulog () Ang pagpapaandar na tinatawag na pagtulog (int ms) ay idineklara kung saan hinihintay ang programa para sa oras sa tinukoy na milliseconds
Hakbang 2. Isama ang sumusunod na linya sa iyong programa bago ang "int main ()":
# isama
Hakbang 3. Ipasok, saan mo man kailangan ang iyong programa upang makapagpaliban:
- pagtulog (1000);
- Palitan ang "1000" sa bilang ng mga millisecond na nais mong hintayin (halimbawa, kung nais mong gumawa ng 2 segundong pagkaantala, palitan ito ng "2000".
- Tip: Sa ilang mga system ang halaga ay maaaring sumangguni sa mga segundo, sa halip na milliseconds. Kaya't minsan ang 1000 ay hindi isang segundo, ngunit, sa katunayan, 1000 segundo.
Mga Tip
- Ang lohika sa itaas ay maaaring ipatupad sa pamamagitan ng paggamit ng anumang istraktura ng looping na sinusundan ng isang null na pahayag- ";", tulad ng paggamit ng habang o do-habang mga loop.
- Ang isang millisecond ay 1/1000 ng isang segundo.
Mga babala
- Ang diskarteng ito sa pangkalahatan ay walang silbi sa anumang bagay bukod sa isang walang kuwentang programa. Sa pangkalahatan, gumamit ng mga timer o diskarte na hinihimok ng kaganapan upang maipatupad ito. Kung hindi man ang programa ay magiging hindi tumutugon sa oras ng pagkaantala, at hindi iyon palaging isang mabuting bagay. Bukod, ang pagpili ng N sa iyong loop, kung nakasalalay ito sa pagpapatupad ng tagubilin, maaaring magkaroon ng nakakagulat na mga resulta. Maliwanag na ang orihinal na may-akda ay hindi kailanman nakarinig ng isang pag-optimize ng compiler … maaari itong i-optimize ang layo ng buong loop kung talagang wala itong ginagawa!
- Kung gumagamit ka ng for-loop, maaaring ma-optimize ng tagatala ang code, at, dahil walang nagawa ang loop, alisin ito. Hindi ito nangyayari kapag gumagamit ng pagkaantala ().
- Tandaan na kapag gumagamit ng for-loop na diskarte, maaaring kailanganin mo ang isang napakalaking span para sa i, dahil ang isang walang laman na pahayag ay napakabilis na naisakatuparan. Ang nasabing malalaking mga numero ay maaaring hindi magkasya sa isang uri ng integer.