Երբևէ ցանկացե՞լ եք ստիպել C ծրագրին որոշակի ժամանակ սպասել:
Դուք կարող եք ստեղծել այնպիսի տեխնիկա, որը թույլ կտա ժամանակին արագ հեռանալ, օրինակ ՝ խաղի համար շաղ տալու էջը (ծանուցում կամ ակնարկ) ցուցադրելիս:
Լավ, ահա մի քանի եղանակ ՝ ծրագիրը «կանգնելու» դարձնելու համար, կարդացեք…
Քայլեր
Քայլ 1. Ստեղծեք ձեր պրոցեսորը որոշ ժամանակ աշխատելու ՝ առանց որևէ նկատելի իրադարձության ստեղծման:
Քայլ 2. Այդ հետաձգման ընթացքում այլ գործողություններ մի կատարեք ՝ պարզ ժամանակային հետաձգում ստեղծելու համար:
Մեթոդ 1-ից 2-ը `« օղակի համար »տեխնիկան
Քայլ 1. Օգտագործեք տիպիկ «for» օղակը, որին հաջորդում է null հայտարարությունը ՝ ժամանակի հետաձգում իրականացնելու համար:
Քայլ 2. Օրինակ գրեք հետևյալ կերպ
- համար (i = 1; i <100; i ++);
- Հայտարարությունը, որին հաջորդում է «;» ստիպում է համակարգչին 100 անգամ կատարել հանգույցը ՝ առանց որևէ նկատելի իրադարձության: Դա պարզապես ժամանակի հետաձգում է ստեղծում:
2 -րդ մեթոդ 2 -ից. «Քնի ()» տեխնիկան
Քայլ 1. Օգտագործեք sleep () հայտարարված sleep (int ms) գործառույթը, որը ստիպում է ծրագրին սպասել նշված ժամանակի միլիվայրկյաններում:
Քայլ 2. Ներառեք հետևյալ տողը ձեր ծրագրում «int main ()» - ից առաջ
#ներառում
Քայլ 3. Տեղադրեք, որտեղ էլ որ ձեր ծրագիրը հետաձգման կարիք ունենա
- քուն (1000);
- Փոխեք «1000» -ը միլիվայրկյանների այն թվին, որին ցանկանում եք սպասել (օրինակ, եթե ցանկանում եք 2 վայրկյան ուշացում կատարել, փոխարինեք այն «2000» -ով:
- Հուշում. Որոշ համակարգերում արժեքը կարող է վերաբերել վայրկյաններին ՝ միլիվայրկյանների փոխարեն: Այսպիսով, երբեմն 1000 -ը ոչ թե մեկ վայրկյան է, այլ, ըստ էության, 1000 վայրկյան:
Խորհուրդներ
- Վերոնշյալ տրամաբանությունը կարող է իրականացվել ՝ օգտագործելով ցանկացած օղակաձև կառուցվածք, որին հաջորդում է null հայտարարությունը ՝ «;», ինչպես օրինակ ՝ while կամ do-while օղակները օգտագործելով:
- Միլիվայրկյանը 1/1000 վայրկյան է:
Գուշացումներ
- Այս տեխնիկան ընդհանրապես անիմաստ է ոչ մի բանում, բացի չնչին ծրագրից: Ընդհանրապես, դրա իրականացման համար օգտագործեք ժամանակաչափ կամ իրադարձությունների վրա հիմնված մոտեցում: Հակառակ դեպքում ծրագիրը կդառնա անարձագանք ուշացման ընթացքում, և դա միշտ չէ, որ լավ է: Բացի այդ, ձեր օղակում N ընտրելը, եթե դա կախված է հրահանգի կատարումից, կարող է զարմանալի արդյունքներ ունենալ: Ըստ երևույթին, սկզբնական հեղինակը երբեք չի լսել օպտիմալացնող կազմողի մասին… այն կարող է օպտիմալացնել ամբողջ հանգույցը, եթե իրականում ոչինչ չի անում:
- Եթե օգտագործում եք for-loop- ը, ապա կոմպիլյատորը կարող է օպտիմալացնել կոդը, և քանի որ loop- ը ոչինչ չի անում, հեռացրեք այն: Դա տեղի չի ունենում հետաձգման () օգտագործմամբ:
- Նկատի ունեցեք, որ for-loop տեխնիկան օգտագործելիս կարող է i- ի համար շատ մեծ տարածություն պահանջվել, քանի որ դատարկ հայտարարությունը կատարվում է շատ արագ: Նման մեծ թվերը կարող են չհամապատասխանել ամբողջ թվին: